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

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

Android實現圖片浮動隨意拖拽效果

2019-10-22 18:12:26
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Android實現圖片浮動拖拽效果的具體代碼,供大家參考,具體內容如下

實現步驟

1.先自定義一個浮動工具類

public class MoveImage extends ImageView { /** * * 浮動工具類 * */ 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ā)點擊事件 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的實現

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));//點擊跳轉頁面 break;

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 渭南市| 齐齐哈尔市| 汉川市| 宝山区| 谢通门县| 呼玛县| 华池县| 象州县| 青川县| 阿鲁科尔沁旗| 泸定县| 成武县| 太和县| 开远市| 大厂| 石渠县| 嵩明县| 五指山市| 泸水县| 肥城市| 任丘市| 秦安县| 桐乡市| 台北市| 寿宁县| 潼南县| 祁连县| 襄垣县| 含山县| 安庆市| 云安县| 永登县| 库尔勒市| 大安市| 海兴县| 扶沟县| 黄大仙区| 松阳县| 正阳县| 淅川县| 商都县|