java - 在Android中使用按钮旋转图像

标签 java android rotation

我有一张图像, View 上有几个按钮。其中一个按钮可将图像向下移动。它通过在上边距添加 1 px 来向下移动图像。这是代码:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button) findViewById(R.id.button1);
        final ImageView image = (ImageView) findViewById(R.id.image1);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ((ViewGroup.MarginLayoutParams) image.getLayoutParams()).topMargin += 1;
                image.requestLayout();
            }
        });
    }

现在,我希望能够旋转图像。就像我现在的代码一样,我想要一个按钮,当按下按钮时图像将旋转。但我该怎么做呢?

最佳答案

 Bitmap source; //Declare Global
 float angle=0; //Declare Global


Button button = (Button) findViewById(R.id.button1);
        final ImageView image = (ImageView) findViewById(R.id.image1);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
          angle+=70;
          Bitmap rotatedImage=rotateImage(your_image_source,angle);
          img.setImageBitmap(rotatedImage);
            }
        });

public static Bitmap rotateImage(Bitmap sourceImage, float angle)
    {
        Matrix matrix = new Matrix();
        matrix.postRotate(angle);
        return Bitmap.createBitmap(sourceImage, 0, 0, sourceImage.getWidth(), sourceImage.getHeight(), matrix, true);
    }

您可以查看

  1. Image Rotation in ImageView (Android)
  2. When click a button rotate image clockwise in android

试试这个,希望对你有帮助。

关于java - 在Android中使用按钮旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33623291/

相关文章:

java - Spring boot + hikari - dataSource 或 dataSourceClassName 或 jdbcUrl 是必需的问题

java - 如何修复 cipher.doFinal 方法中的 'Decryption Process'

java - 比较带有特殊字符(é、è、...)的单词时忽略变音符号

java - Android - 创建一些框架布局并以编程方式将它们与重力对齐

ios - UIButton 旋转后失去目标

javascript - 将表格旋转 90 度

javascript - 如何验证 Phantom 钱包的签名?

java - 如何在jsp中发送邮件进行邮件验证

java - 分配时间与系统时间相同时的运行方法

javascript - 是否有一种树结构或算法可以在树中的各个级别之间进行洗牌?