旋转 Android ImageView 及其背景

Posted

技术标签:

【中文标题】旋转 Android ImageView 及其背景【英文标题】:Rotate an Android ImageView AND its background 【发布时间】:2010-05-21 15:17:28 【问题描述】:

使用this mechanism 我能够成功地在 ImageView 中旋转图像。效果很好。

但是,如果 ImageView 具有背景图像,则该可绘制对象也不会旋转。如何还可以旋转 ImageView 的背景图片?

【问题讨论】:

【参考方案1】:

覆盖 draw() 而不是 onDraw() 来旋转背景。

@Override
public void draw(Canvas canvas) 
    canvas.save();
    canvas.rotate(45,xRotation,yRotation);
    super.draw(canvas);
    canvas.restore();

【讨论】:

谢谢!有没有办法在这个旋转上启用抗锯齿?【参考方案2】:
public class MainActivity extends Activity

    private ImageView mImageView = null;
    private Animation mRotateAnimation = null;

    @Override
    public void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mImageView = (ImageView) findViewById(R.id.my_image);
        mRotateAnimation = AnimationUtils.loadAnimation(this, R.anim.my_rotate_90);
    

    @Override
    public boolean onTouchEvent(MotionEvent event) 
        if (event.getAction() == MotionEvent.ACTION_DOWN) 
            mImageView.startAnimation(mRotateAnimation);
            return true;
        
        return super.onTouchEvent(event);
    

【讨论】:

以上是关于旋转 Android ImageView 及其背景的主要内容,如果未能解决你的问题,请参考以下文章

Android 旋转动画简单实现

Android 旋转动画简单实现

Android 旋转动画简单实现

Android 旋转动画简单实现

Android 旋转动画简单实现

Android:将imageview中的图像旋转一个角度