这可能是基本的东西,但是我无法在任何地方找到解决方案。因此,假设我在drawable文件夹中有一个名为.xml
的{{1}}文件。
说它看起来像这样:
properties.xml
如果我的<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
<shape
android:shape="rectangle">
<corners
android:radius="10dp"/>
<solid android:color="@color/GreenGray">
</shape>
</item>
</selector>
中有多个按钮,并且我希望它们都将背景设置为activity_main.xml
,那么有一种方法只能更改按钮的背景颜色,以使它们彼此都不同,而不必为每个按钮创建一个全新的xml文件?
就像使用CSS的类一样,您可以将对象设置为类,并且仅更改该类的特定属性?
答案 0 :(得分:0)
您可以尝试以下方法:
//get the button by id which you want do modify
Button myBtn = (Button) findViewById(R.id.your_btn_id);
//get drawable from button
GradientDrawable drawable = (GradientDrawable) myBtn.getDrawable();
//set color
drawable.setColor(color)