如何在ImageView中使用ColorDrawable?

时间:2010-03-30 20:29:43

标签: android

我有一个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空间正在用尽。我需要做什么才能渲染颜色?

由于

1 个答案:

答案 0 :(得分:28)

查看ColorDrawable的构造函数我没有看到像你的例子那样的字符串版本。我看到一个采用int。试试这个:

ColorDrawable cd = new ColorDrawable(0xffff0000);

注意我在你的例子中使用了8个十六进制数字,而不是6个数字。这也设置了alpha值。

编辑:回顾一下我自己做过类似事情的代码,我总是使用setBackgroundDrawable()代替setImageDrawable()来初始化纯色的ImageView。不确定这是否会产生影响。