【问题标题】:move, rotation and zoom in\out on View在视图上移动、旋转和放大\缩小
【发布时间】:2018-03-30 22:44:31
【问题描述】:

我是 android 开发新手,我需要开发一些规范的视图

  1. 触摸移动
  2. 捏合缩放(放大\缩小)
  3. 使用两个手指旋转

我已经通过使用这些步骤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


【解决方案1】:

经过长时间搜索如何实现类似的东西,我终于在 GitHub 上找到了一个存储库,解决了我的问题 你可以找到这样做的课程here

类的使用方法是:

        yourView.setOnTouchListener(new MultiTouchListener());

通过这种方式,您也可以缩放、放大/缩小(捏合)和旋转视图。

【讨论】:

  • 是的,如果您需要任何帮助,请告诉我。
【解决方案2】:

您正在搜索的完美示例在这里:see here(example)

编码愉快!

【讨论】:

  • 谢谢,但您的示例适用于 imageView,我在任何视图上都需要它。或者你的意思是我可以对任何其他观点保持理智?
  • 对于新手,以上内容也适用于任何视图,它在该教程中给出
猜你喜欢
  • 1970-01-01
  • 2014-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-04
相关资源
最近更新 更多