我是 android 开发的新手,我需要开发一些规范的视图
我在这里使用这些步骤开发了旋转,但是如果突然移开一根手指,则会出现一些问题,例如跳转视图。
对于使用此代码的移动,它运行良好,但认为这是突然移动的问题。
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 上找到了一个解决我问题的存储库,你可以在这里找到这样做的类
和使用这些类的方法是:
yourView.setOnTouchListener(new MultiTouchListener());
通过这种方式,您还可以缩放、放大/缩小(捏合)和捏合旋转视图。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句