我想做一个简单的控件:一个里面有 View 的容器。如果我触摸容器并移动手指,我想移动 View 以跟随我的手指。
我应该使用哪种容器(布局)?如何做到这一点?
我不需要使用表面,而是使用简单的布局。
最佳答案
我发现了一种使用 ViewPropertyAnimator 的简单方法:
float dX, dY;
@Override
public boolean onTouch(View view, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
dX = view.getX() - event.getRawX();
dY = view.getY() - event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
view.animate()
.x(event.getRawX() + dX)
.y(event.getRawY() + dY)
.setDuration(0)
.start();
break;
default:
return false;
}
return true;
}
关于android:在触摸移动时移动 View (ACTION_MOVE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9398057/