我需要在android中创建一个圆形并设置为图像背景,有两个共享相同形状的多个图像,因此我需要为每个图像设置不同的背景。在Android中动态更改图形颜色
这里是形状代码:
android:shape="oval">
android:color="@color/colorWhite"/>
在XML文件:
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_margin="2dp"
android:src="@drawable/color"
android:tag="#FF660000" />
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_margin="2dp"
android:src="@drawable/color"
android:tag="#FFFF0000" />
默认情况下,形状有白色,但我需要为不同的图像,我怎么能做到这一点设置不同。
它实际上是一个油漆应用程序,用户可以从特定的给定颜色中选择颜色。
请让我知道如何更改形状颜色?
更新
的答案是提供它不工作了,也是我检查的意见有以下的答案是不正确的。我检查了我的自我,它给错误。
检查了这一点:
btnCapturePicture = (ImageView) view.findViewById(R.id.btnCapturePicture);
if(btnCapturePicture != null) {
GradientDrawable bgShape = (GradientDrawable) btnCapturePicture.getBackground();
bgShape.setColor(Color.BLUE);
}
错误:Attempt to invoke virtual method 'void android.graphics.drawable.GradientDrawable.setColor(int)' on a null object reference
我怎样才能解决呢?
+0
@Redman任何的例子吗? –
+1
可能重复[如何动态改变形状颜色?](https://stackoverflow.com/questions/7164630/how-to-change-shape-color-dynamically) –
+0
@Redman检查我的问题我编辑它,链接你提供的不再工作 –