我有一个特殊需要texcolorlist把drawable与背景按钮放在一起。 我的textColor:
<?xml version="1.0" encoding="UTF-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@android:color/black" />
<item android:state_checked="true" android:color="@android:color/black" />
<item android:color="#8e000000"/>
</selector>
我的按钮状态:
<?xml version="1.0" encoding="UTF-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<gradient
android:angle="90"
android:endColor="#005b7f"
android:startColor="#051725"/>
<corners android:radius="5dp"/>
</shape>
</item>
<item>
<shape android:shape="rectangle">
<gradient
android:angle="90"
android:endColor="#e6e6e6"
android:startColor="#b3b3b3"/>
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp"/>
</shape>
</item>
</selector>
我知道通过这种方式我可以按下按钮颜色: android:textColor="@drawable/button_text_color"
我想知道按钮文字颜色是否可以直接放入我的按钮状态。 这是,但不起作用:
<?xml version="1.0" encoding="UTF-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle"
android:textColor="#000000">
<gradient
android:angle="90"
android:endColor="#e6e6e6"
android:startColor="#b3b3b3"/>
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp"/>
</shape>
</item>
</selector>
答案 0 :(得分:0)
您还需要将选择器定义为文本颜色:
android:textColor="@drawable/yourselector"
这里的例子:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:color="@color/blue" />
<item android:state_focused="true" android:state_pressed="true" android:color="@color/red" />
<item android:state_focused="false" android:state_pressed="true" android:color="@color/green" />
</selector>
编辑:我没有看到我对这种可能性的评价。我不认为你想要什么是可能的,因为你在选择器中定义的是指你指定它的android属性。由于属性是背景,因此文本颜色没有任何意义。
答案 1 :(得分:0)
我想知道按钮文字颜色是否可以直接放入我的按钮状态。
不,它不能。可绘制XML资源无法在应用它们的元素上设置属性。您可能感兴趣的是使用Style。
<强>值/ styles.xml 强>
<style name="MyButtonStyle">
<item name="android:textColor">@drawable/button_text_color</item>
<item name="android:background">@drawable/button_background</item>
</style>
<强> MyLayout.xml 强>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/MyButtonStyle"/>
答案 2 :(得分:0)