CircularImageView用纯色

时间:2014-09-09 20:57:45

标签: android views android-imageview

CircularImageView https://github.com/Pkmmte/CircularImageView在设置图像位图时效果很好......

circularImageView.setImageBitmap(bitmap);

但是,有时我只想设置纯色而不是位图。如果我这样做,

circularImageView.setBackgroundResource(R.color.blue);

设置了视图的颜色,但图像永远不会变成圆形,因此它会填满整个矩形视图。我假设getDrawable()返回null,因此它无法实际操作视图。有人遇到过这个问题或者有什么建议吗?

编辑:

我能做到这一点,但似乎有点脆弱:

Bitmap image = Bitmap.createBitmap(50, 50, Bitmap.Config.ARGB_8888);
image.eraseColor(android.graphics.Color.GREEN);
circularImageView.setImageBitmap(image);

2 个答案:

答案 0 :(得分:2)

您应该致电circularImageView.setImageResource(R.color.blue)

您编写的代码设置了视图的背景,而不是内容图像。查看github上的代码,此视图将仅将内容图像剪切到圆圈 - 它根本不会影响背景。

答案 1 :(得分:1)

试试ColorDrawable;

int decode = Integer.decode("FF6666");
ColorDrawable colorDrawable = new ColorDrawable(decode);