Android:塑造ImageView

时间:2014-06-14 16:52:33

标签: java android eclipse mask

我在开发Android应用程序时遇到了一些麻烦。我希望你能帮助我;)

这是我想要实现的目标: 我想编写一个手表,因此我创建了一个带有时钟的位图。然后我使用Imageview显示此位图并为此Imageview设置动画以旋转它。

我的问题是: 现在我想给ImageView提供不同的形状(例如六边形的形状)。我尝试了各种自定义ImageView和自定义布局,使用代码画布和绘画编辑了我的位图,但是所有这些代码都有一个主要问题: 我只能塑造Imageview,因此“形状”和位图一样旋转(因为ImageView的旋转动画)。但我想要像在ImageView上放置一个alpha蒙版,以便带有clockhand的Bitmap可以旋转,但形状保持不变。

经过大量的互联网研究和数小时的测试代码后,我想到了要求社区。

我期待任何建设性的建议。

由于

1 个答案:

答案 0 :(得分:0)

有一种可能性,但我不确定性能。而不是旋转ImageView本身,使用转换矩阵来旋转位图。

Matrix matrix = new Matrix();
matrix.postRotate(deg);
mImageView.setScaleType(ImageView.ScaleType.MATRIX);
mImageView.setImageMatrix(matrix);

这应该只旋转内容本身,而不是视图。

(请注意,如果您已使用scaleType,则需要稍微更改此矩阵,例如在setRectToRect()之前使用postRotate()