Android按钮使用相同的可绘制形状,但使用不同的颜色
在我的应用程序中,我使用了很多按钮。所有按钮的形状必须相同,但颜色不同。我为每个按钮编写了drawable,具有相同的功能,但不同的纯色android:color。这使得更多 我的应用程序中有超过20个可绘制的xml。 如何对所有按钮使用相同的drawable,但应能够 设置不同的背景色。 我尝试了以下方法,但没有成功。Android按钮使用相同的可绘制形状,但使用不同的颜色,android,button,colors,drawable,reusability,Android,Button,Colors,Drawable,Reusability,在我的应用程序中,我使用了很多按钮。所有按钮的形状必须相同,但颜色不同。我为每个按钮编写了drawable,具有相同的功能,但不同的纯色android:color。这使得更多 我的应用程序中有超过20个可绘制的xml。 如何对所有按钮使用相同的drawable,但应能够 设置不同的背景色。 我尝试了以下方法,但没有成功。 1.在attrs.xml中 在可绘制文件夹中为矩形形状创建buttonshape.xml 在styles.xml中 @可拉伸/纽扣形状 @颜色/霉色 在Colors
1.在attrs.xml中
@颜色/霉色
<Button android:id="@+id/btnTest"
android:theme="@style/TestTheme" android:text="Test" />
这对我不起作用。你们谁能帮我解决这个问题?我是android开发的新手。我无法弄清楚我出了什么问题。任何帮助都将不胜感激。
谢谢
罗杰使用以下命令:GradientDrawable bgShape=(GradientDrawable)view.getBackground().getCurrent();bgShape.setColor(Color.BLACK) 如果您想要设置任何视图的不同颜色,只需使用以下代码 .getCurrent提供选定的可绘制图层列表 使用此选项将不会引发java.lang.ClassCastException:android.graphics.drawable.GradientDrawable无法强制转换为android.graphics.drawable.ShapeDrawable异常
它非常适合我。在运行时获取此可绘制背景并更改背景颜色。