Android-使用不同的背景颜色为多个视图添加边框?
我一直在使用以下方法向视图顶部添加边框:Android-使用不同的背景颜色为多个视图添加边框?,android,xml,android-layout,border,android-view,Android,Xml,Android Layout,Border,Android View,我一直在使用以下方法向视图顶部添加边框: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <solid android:color=
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#b7b7b7" />
</shape>
</item>
<item android:top="1px" >
<shape android:shape="rectangle">
<solid android:color="#5f5f5f" />
</shape>
</item>
</layer-list>
上述内容在drawable文件夹中自己的xml文件中指定,然后设置为视图中显示边框的背景
现在,这里的问题是这个边框被“硬编码”为特定的背景色。无论我在哪个视图上应用它,背景色都将更改为#5F5F
我希望能够设置任何背景颜色,然后应用边框。换句话说,我可以有一个红色视图、一个绿色视图和一个蓝色视图。假设我想在每个边框的顶部放置相同的边框。有没有一种方法可以做到这一点,而无需制作上述xml文件的3个副本并更改每个副本中的颜色?您必须为图层分配一个id,然后使用它来获取要更改的可绘制图形。这些方法在xml本身中无法做到吗?如果我必须多次复制上面的XML,有没有办法在同一个XML文件中完成这一切?它似乎不允许在层列表本身上设置id。您必须在运行时更改可绘制文件或复制xml文件