【发布时间】:2018-03-30 22:44:31
【问题描述】:
我是 android 开发新手,我需要开发一些规范的视图
- 触摸移动
- 捏合缩放(放大\缩小)
- 使用两个手指旋转
我已经通过使用这些步骤here 开发了旋转,但是如果突然移开一根手指,则会出现一些问题,例如跳转视图。
对于 move 使用此代码,它运行良好,但认为这是突然移动的问题。
public static View.OnTouchListener getTouchListener(){
View.OnTouchListener onTouchListener = new View.OnTouchListener() {
int prevX, prevY;
@Override
public boolean onTouch(View v, MotionEvent event) {
final ConstraintLayout.LayoutParams par = (ConstraintLayout.LayoutParams) v.getLayoutParams();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
v.bringToFront();
prevX = (int) event.getRawX();
prevY = (int) event.getRawY();
par.bottomMargin = -8 * v.getHeight();
par.rightMargin = -8 * v.getWidth();
v.setLayoutParams(par);
return true;
}
case MotionEvent.ACTION_MOVE: {
par.topMargin += (int) event.getRawY() - prevY;
prevY = (int) event.getRawY();
par.leftMargin += (int) event.getRawX() - prevX;
prevX = (int) event.getRawX();
v.setLayoutParams(par);
return true;
}
}
return false;
}
};
return onTouchListener;
}
我需要有人帮助我将这三个功能整合在一起,没有任何问题 提示:如果有图书馆欢迎。
【问题讨论】:
-
你检查过 gitHub 吗?它已经有很多库可能已经实现了。
-
@Kristofer 我检查了它,但我发现它只适用于图像,如果有这样的视图,我需要它用于不同的视图,请提及一个
标签: android android-studio gesture