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

问题描述 投票:0回答:1

My Image Button Screen Shot我想向我的图像按钮添加调整大小和旋转按钮。我已经在SS中设计了UI。我已经将所有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时。请建议实现添加我的调整大小按钮以进行任何旋转,并建议添加实现我的旋转按钮以使用一根手指旋转视图。

android android-studio view rotation resize
1个回答
0
投票

我认为您需要同时执行修复

但是您可以尝试使此动画逆时针旋转

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();
 } 
© www.soinside.com 2019 - 2024. All rights reserved.