1

我正在使用这样的<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>

我有很多使用<shape>GridView 中的标签创建的视图,我需要更改此处设置的部分:

<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 中我使用透明颜色,但它不起作用......有什么想法吗?

4

1 回答 1

3

在 xml 中使用<shape />Shape Drawable)标签时,编译的资源不是图像视图;它编译成GradientDrawable。该<solid />标记定义了一种纯色来填充定义的形状并将其设置为android:color。因此,要以编程方式更改此设置,您应该使用setColor()方法。

于 2012-06-28T15:25:36.777 回答