我正在使用<shape>
标记,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00FFFFFF" />
<stroke android:width="1dp" android:color="#FFFFFFFF" />
<padding android:left="1dp" android:top="1dp" android:right="1dp"
android:bottom="1dp" />
</shape>
我在GridView中使用<shape>
标记创建了很多视图,我需要更改此处设置的部分:
<solid android:color="#00FFFFFF" />
并设置另一种颜色,但我不知道如何...... 我试着像这样使用ImageView.Adapter:
imageView = new ImageView(context);
imageView.setLayoutParams(new GridView.LayoutParams(160, 105));
imageView.setBackgroundColor(myBackgroundColors[position]);
imageView.setBackgroundResource(R.drawable.border);
我在调用setBackgroundResource()之前设置了背景颜色,而在XML中我使用透明颜色,但它不起作用......任何想法?
答案 0 :(得分:3)
在xml中使用<shape />
(Shape Drawable)标记时,编译的资源不是imageview;它汇编成GradientDrawable。 <solid />
标记定义了一种纯色,用于填充定义的形状并将其设置为android:color
。因此,要以编程方式更改此方法,您应该使用setColor()方法。