Android 拖拽
16lz
2021-01-23
Android拖拽,简单的实现方法。先看效果:
是使用OnTouchListener监听按下、移动、抬起3个事件来实现拖拽效果。
首先需要给目标ImageView设置一个监听器:
ImageView tabImg = (ImageView) rootView.findViewById(R.id.tab_img);tabImg.setBackgroundResource(R.drawable.blink);tabImg.setOnTouchListener(new TabImgTouch());
然后是重点——TabImgTouch:
private class TabImgTouch implements OnTouchListener { @Override public boolean onTouch(View v, MotionEvent event) { long downTime = 0, moveTime = 0; int touchX = 0, touchY = 0; switch (event.getAction()) { case MotionEvent.ACTION_DOWN: downTime = event.getDownTime(); break; case MotionEvent.ACTION_MOVE: moveTime = event.getEventTime(); if (moveTime - downTime > 1500) {// 长按 v.setAlpha(0.5f);//透明度 touchX = (int) (event.getRawX());//相对于屏幕左上的X坐标 // my = (int) (event.getRawY() - 50);//状态栏和标题栏 touchY = (int) (event.getRawY() - 150); v.layout(touchX - v.getWidth() / 2, touchY - v.getHeight() / 2, touchX + v.getWidth() / 2, touchY + v.getHeight() / 2);//定位 } break; case MotionEvent.ACTION_UP: v.setAlpha(1f); break; default: break; } return true;//Attention! }}
如此,很简单的就实现一个简单的拖拽,更炫的效果请相信自己尽情发挥。
更多相关文章
- 调整 FMX Android 文字显示「锯齿」效果
- ListView点击效果设置
- Android 一个APK文件部署产生多个应用安装的效果
- TextView的走马灯效果
- Android UI设计--半透明效果对话框及activity(可做遮罩层)
- android 一直在最前面的浮动窗口效果
- android 跑马灯效果及相关
- TextView中的文字添加阴影效果及Style的使用