这里有新鲜出炉的精品教程,程序狗速度看过来!
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
这篇文章主要介绍了Android实现View拖拽跟随手指移动效果,主要使用setTranslationX() 和setTranslationY() 属性方法实现的,需要的朋友参考下吧
今天想实现这个功能,但是网上搜索代码,都是利用setPadding,setMargin 等方法去实现的,这在Android 4.0 以前是没问题的,但是,android 4.0 后系统已经提供了更简单的方法给我们用了,就是
和
- setTranslationX()
。这两个是View的属性方法。现在我就用这两个方法实现一个View可以跟着手指移动拖拽的效果。代码非常非常简单:
- setTranslationY()
- 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拖拽跟随手指移动效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对PHPERZ网站的支持!
来源: http://www.phperz.com/article/17/0912/345757.html