今天想实现这个功能,但是网上搜索代码,都是利用setpadding,setmargin 等方法去实现的,这在android 4.0 以前是没问题的,但是,android 4.0 后系统已经提供了更简单的方法给我们用了,就是settranslationx()
和settranslationy()
。这两个是view的属性方法。现在我就用这两个方法实现一个view可以跟着手指移动拖拽的效果。代码非常非常简单:
public class dragview extends textview { float movex; float movey; public dragview(context context) { super(context); } public dragview(context context, attributeset attrs) { super(context, attrs); } @override public boolean ontouchevent(motionevent event) { switch (event.getaction()) { case motionevent.action_down: movex = event.getx(); movey = event.gety(); break; case motionevent.action_move: settranslationx(getx() + (event.getx() - movex)); settranslationy(gety() + (event.gety() - movey)); break; case motionevent.action_up: break; case motionevent.action_cancel: break; } return true; } }
总结
以上所述是小编给大家介绍的android实现view拖拽跟随手指移动效果,希望对大家有所帮助
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论