【发布时间】:2014-03-19 22:43:47
【问题描述】:
这是我正在尝试构建的按钮选择器的布局:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/btt_down" />
<item android:state_enabled="false" android:drawable="@drawable/btt_disabled" />
<item android:drawable="@drawable/btt_normal"/>
</selector>
这是正常状态按钮的布局 (btt_normal.xml)。
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
>
<solid android:color="@color/btt_normal"/>
<corners
android:radius="@dimen/rounded_rect_corner_radius"
/>
<padding
android:left="@dimen/rounded_rect_padding"
android:top="@dimen/rounded_rect_padding"
android:right="@dimen/rounded_rect_padding"
android:bottom="@dimen/rounded_rect_padding"
/>
</shape>
此布局与 btt_down.xml 和 btt_disabled.xml 的布局之间的唯一区别是这一行:
<solid android:color="@color/..."/>
我想知道是否有办法定义中性(无颜色)圆角矩形可绘制资源,并以某种方式(继承?)为其分配不同的颜色并在选择器中使用它们?
我知道我可以通过将所有圆角矩形定义为选择器的一部分来减少资源,但是为了维护起见,我非常希望避免一次又一次地复制/粘贴相同的代码行区分它们的颜色线。
谢谢。
【问题讨论】:
标签: android xml button user-interface