Android:将ImageView中的图像旋转90度但没有延迟

标签 android matrix bitmap rotation imageview

我正在开发一款游戏,用户需要点击 ImageView 中的图像来旋转它。在每个点击图像顺时针方向旋转 90 度。 但是图像需要时间从旧位置旋转到新位置。这阻碍了游戏体验。我使用了以下内容:

protected void onCreate(Bundle savedInstanceState)
{  
... 
...  
    imgview = (ImageView)findViewById(R.id.imageView1);  
    imgview.setOnClickListener(new OnClickListener() {
         @Override 
         public void onClick(View arg0) {
              Matrix matrix = new Matrix();
              matrix.postRotate(90); 
              Bitmap myImg = getBitmapFromDrawable(imgview.getDrawable());
              Bitmap rotated = Bitmap.createBitmap(myImg,0,0,myImg.getWidth(),myImg.getHeight(),matrix,true);
              imgview.setImageBitmap(rotated);
         }
});

我想知道有没有什么其他方法可以旋转图片 不会造成轮换的任何延迟

最佳答案

我也尝试过一次,但除了使用动画之外找不到任何其他解决方案。这是我会怎么做。

private void rotate(float degree) {
    final RotateAnimation rotateAnim = new RotateAnimation(0.0f, degree,
            RotateAnimation.RELATIVE_TO_SELF, 0.5f,
            RotateAnimation.RELATIVE_TO_SELF, 0.5f);

    rotateAnim.setDuration(0);
    rotateAnim.setFillAfter(true);
    imgview.startAnimation(rotateAnim);
}

关于Android:将ImageView中的图像旋转90度但没有延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18735280/

相关文章:

Android XML 配置文件?

android - Android按钮音板

Android 将文件从 Assets 附加到电子邮件

performance - 在矩阵的每一行上应用函数的最快方法是什么?

android - 截图

java - 如何获取 Canvas 的当前位图?

android - 尽管创建了 channel ,但通知未显示在 Android O 中

python - 用 f(x) 非破坏性地替换矩阵的列 x 的 numpy/pythonic 方法是什么?

python - 求解线性系统的 sympy 问题

objective-c - 从 NSImage 对象获取最高位图表示的最佳方法是什么