我有一个ImageView定义的布局,如:
<ImageView
android:layout_width="45dip"
android:layout_height="45dip"
android:scaleType="fitXY" />
现在我只想将imageview设置为静态颜色,如红色或绿色。我在尝试:
ColorDrawable cd = new ColorDrawable("FF0000");
cd.setAlpha(255);
ImageView iv = ...;
iv.setImageDrawable(cd);
imageview只是空的,没有颜色。 45dip空间正在用尽。我需要做什么才能渲染颜色?
由于
答案 0 :(得分:28)
查看ColorDrawable的构造函数我没有看到像你的例子那样的字符串版本。我看到一个采用int。试试这个:
ColorDrawable cd = new ColorDrawable(0xffff0000);
注意我在你的例子中使用了8个十六进制数字,而不是6个数字。这也设置了alpha值。
编辑:回顾一下我自己做过类似事情的代码,我总是使用setBackgroundDrawable()代替setImageDrawable()来初始化纯色的ImageView。不确定这是否会产生影响。