Android - 如何将按钮的形状可绘制和文本颜色不同状态结合起来?
我在管理按钮的 Android 状态列表时遇到一些麻烦。我为不同的状态指定了一些 Shape drwable 项目,但我还需要根据当前状态更改 textColor。
我的实际状态列表 xml 是:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape>
<gradient
android:startColor="@color/white"
android:endColor="@color/light_gray"
android:angle="270" />
<stroke
android:width="3dp"
android:color="@color/classic_red1" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="@color/classic_red1"
android:endColor="@color/classic_red2"
android:angle="270" />
<stroke
android:width="2dp"
android:color="@color/white" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
我还需要根据这 2 个状态更改 textColor。 提前致谢。
I have some troubles managing Android State List for a button. I specified some Shape drwable item for different states, but i also need to change textColor depending on the current state.
My actual state list xml is:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape>
<gradient
android:startColor="@color/white"
android:endColor="@color/light_gray"
android:angle="270" />
<stroke
android:width="3dp"
android:color="@color/classic_red1" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="@color/classic_red1"
android:endColor="@color/classic_red2"
android:angle="270" />
<stroke
android:width="2dp"
android:color="@color/white" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
I need also to change textColor based on these 2 states.
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
BG 按钮的选择器:
按钮文本颜色选择器:
selector for the button BG:
selector for the button text color: