安卓-使用单手指手势旋转图像

5

旋转意味着您想要移动图像的位置吗? - InnocentKiller
@InnocentKiller 当我们触摸并旋转调整大小按钮时,图像应根据手势移动而转动。 - Sangu
2个回答

5
请查看我的博客,在其中我尝试实现了箭头点击拉伸图像的功能,并且还可以删除它,使用手势可以在屏幕上移动图像。
请参阅拖放图像,也可以查看DragDropImage演示enter image description here

非常感谢@grishu。请问如何在触摸并旋转绿色图标时旋转图像?如何提高拉伸功能的速度? - Sangu

0

一个处理单指旋转的函数,主要思路是计算视图的中心点 centerX 和 centerY,并考虑是否使用状态栏高度。

       @Override
       public boolean onTouch(View view, MotionEvent event) { 
         switch (action) {
                case MotionEvent.ACTION_UP:
                    break;
                case MotionEvent.ACTION_DOWN:

                    rotateX = event.getRawX();
                    rotateY = event.getRawY();

                    centerX = view.getX() + ((View) getParent()).getX() + (float) view.getWidth() / 2;

                    centerY = view.getY() + statusBarHeight + (float) view.getHeight() / 2;

                    break;

                case MotionEvent.ACTION_MOVE:

                    newRotateX = event.getRawX();
                    newRotateY = event.getRawY();

                    double angle = Math.atan2(event.getRawY() - centerY, event.getRawX() - centerX) * 180 / Math.PI;

                    view.setRotation((float) angle - 45);

                    rotateX = newRotateX;
                    rotateY = newRotateY;

            }
        }

        return true;
    }
};

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接