繁体   English   中英

如何在android中的视图中添加旋转和调整大小按钮

[英]How to add rotate and resize buttons to a view in android

我的图像按钮屏幕截图 我想向我的图像按钮添加调整大小和旋转按钮。 我设计的 UI 就像在 SS 中一样。 我已将所有 3 个图像按钮设置为相对布局,主按钮的高度和宽度设置为MATCH_PARENT现在我想为它们添加代码。 目前我已成功实现调整大小按钮,但仅当旋转为 0 时。这是我调整大小按钮的onTouchListener声明。

View.OnTouchListener resizeListener = new View.OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent e) {


        RelativeLayout v = (RelativeLayout) view.getParent();
        switch (e.getActionMasked()) {
            case MotionEvent.ACTION_DOWN:
                dX = v.getWidth() - e.getRawX();
                dY = v.getHeight() - e.getRawY();                 
                break;
            case MotionEvent.ACTION_MOVE:
                x = (e.getRawX() + dX);
                y = (e.getRawY() + dY);
                lp = new RelativeLayout.LayoutParams((int) x, (int) y);
                v.setLayoutParams(lp);
                break;
            default:
                return false;

        }

        return false;
    }
};

(我已将变量声明为全局变量。代码中未提及声明)

此代码按我的需要工作,但仅当 RelatieLayout 的旋转为 0 时。请建议实现以添加我的调整大小按钮以在任何旋转中工作,并实现添加我的旋转按钮以使用一根手指旋转视图。

你需要同时执行 aniamtion 我认为

但是你可以试试这个动画逆时针旋转

public void rotate_Clockwise(View view) {
    ObjectAnimator rotate = ObjectAnimator.ofFloat(view, "rotation", 180f, 0f);
    rotate.setRepeatCount(10);
    rotate.setDuration(500);
    rotate.start();
}

 public void rorate_AntiClockwise(View view) {
    ObjectAnimator rotate = ObjectAnimator.ofFloat(view, "rotation", 0f, 180f);
    rotate.setRepeatCount(10);
    rotate.setDuration(500);
    rotate.start();
 } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM