国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android實(shí)現(xiàn)圖片浮動(dòng)隨意拖拽效果

2019-12-12 00:59:20
字體:
供稿:網(wǎng)友

本文實(shí)例為大家分享了Android實(shí)現(xiàn)圖片浮動(dòng)拖拽效果的具體代碼,供大家參考,具體內(nèi)容如下

實(shí)現(xiàn)步驟

1.先自定義一個(gè)浮動(dòng)工具類

public class MoveImage extends ImageView { /** * * 浮動(dòng)工具類 * */ private int lastX = 0; private int lastY = 0; private int dx; private int dy; private float movex = 0; private float movey = 0; private int screenWidth; private int screenHeight; public MoveImage(Context context, AttributeSet attrs) { super(context, attrs); screenWidth = ScreenUtils.getWidth(context); screenHeight = ScreenUtils.getHeight(context); } @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: lastX = (int) event.getRawX(); lastY = (int) event.getRawY(); movex = lastX; movey = lastY; break; case MotionEvent.ACTION_MOVE: dx = (int) event.getRawX() - lastX; dy = (int) event.getRawY() - lastY; int left = getLeft() + dx; int top = getTop() + dy; int right = getRight() + dx; int bottom = getBottom() + dy; if (left < 0) { left = 0; right = left + getWidth(); } if (right > screenWidth) { right = screenWidth; left = right - getWidth(); } if (top < 0) { top = 0; bottom = top + getHeight(); } if (bottom > screenHeight) { bottom = screenHeight; top = bottom - getHeight(); } layout(left, top, right, bottom); lastX = (int) event.getRawX(); lastY = (int) event.getRawY(); break; case MotionEvent.ACTION_UP: //避免滑出觸發(fā)點(diǎn)擊事件 if ((int) (event.getRawX() - movex) != 0 || (int) (event.getRawY() - movey) != 0) { return true; } break; default: break; } return super.onTouchEvent(event); }}

2.xml布局的引用

<com.zjtd.bzcommunity.text.MoveImage android:id="@+id/iv_phone_bar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_marginBottom="70dp" android:src="@drawable/my_qiandao_icon" />

3.activity的實(shí)現(xiàn)

private MoveImage iv_phone_bar;//簽到圖片iv_phone_bar = (MoveImage) view.findViewById(R.id.iv_phone_bar);iv_phone_bar.setOnClickListener(this);// 簽到case R.id.iv_phone_bar: startActivity(new Intent(getActivity(), SignAcitvity.class));//點(diǎn)擊跳轉(zhuǎn)頁面 break;

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)武林網(wǎng)的支持。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 武宁县| 永年县| 连南| 轮台县| 怀安县| 香格里拉县| 江山市| 建瓯市| 张家界市| 建平县| 乐安县| 陈巴尔虎旗| 乌拉特前旗| 正镶白旗| 象州县| 富源县| 锦州市| 鄱阳县| 军事| 图木舒克市| 都匀市| 靖宇县| 宣恩县| 长乐市| 锡林郭勒盟| 时尚| 固原市| 吉水县| 紫云| 本溪市| 涞源县| 宁化县| 全南县| 黄梅县| 青阳县| 招远市| 潢川县| 望江县| 平南县| 康马县| 容城县|