您的位置:首页 > 其它

自定义跟随手指移动view

2017-08-31 15:20 459 查看
public class MoveView extends AppCompatButton {
int mLastX;
int mLastY;
public MoveView(Context context) {
super(context);
}
public MoveView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
//获取手指当前的坐标
int x = (int) event.getRawX();
int y = (int) event.getRawY();

switch (event.getAction()){
case MotionEvent.ACTION_MOVE:
//现在手指的坐标 - 上次view的坐标
int deltaX= x - mLastX;
int deltaY = y- mLastY;

Log.d("shj--","move ,deltax:"+deltaX+" deltay:"+deltaY);

//用nineoldandroids实现
int translationx = (int) (ViewHelper.getTranslationX(this)+deltaX);
int translationy = (int) (ViewHelper.getTranslationY(this)+deltaY);
ViewHelper.setTranslationX(this,translationx);
ViewHelper.setTranslationY(this,translationy);

break;
}
mLastY = y;
mLastX = x;
return true;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  滑动