在我的应用程序中,我使用了很多按钮。并且所有按钮必须具有相同的形状但颜色不同。我为每个具有相同功能但不同的固体android:color的按钮编写了drawable。这样做更多
在我的应用程序中超过20个可绘制的xml。
如何为所有按钮使用相同的drawable,但应该能够
设置不同的背景颜色。
我尝试如下,但没有奏效
1.在attrs.xml中
在drawable文件夹中创建了rectanglehape.xml,用于矩形形状
在styles.xml中
@绘制/ buttonshape
@色/ mycolor
最后在我的活动xml中,对于按钮我将主题设置为
<Button android:id="@+id/btnTest"
android:theme="@style/TestTheme" android:text="Test" />
这对我不起作用。你们中的任何人都可以帮我解决这个问题吗?我是android开发的新手。我无法弄清楚我哪里出错了。任何帮助将非常感激。 谢谢, 罗杰
答案 0 :(得分:1)
使用它:GradientDrawable bgShape =(GradientDrawable)view.getBackground()。getCurrent(); bgShape.setColor(Color.BLACK);
如果你想设置任何视图的不同颜色,只需使用此代码即可。
.getCurrent给出选定的可绘制图层列表
使用它不会抛出java.lang.ClassCastException:android.graphics.drawable.GradientDrawable无法强制转换为android.graphics.drawable.ShapeDrawable异常。
它对我来说非常适合。