gpt4 book ai didi

Android - 如何结合按钮的形状可绘制和文本颜色不同状态?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:03 26 4
gpt4 key购买 nike

我在管理按钮的 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>

我还需要根据这两种状态更改 textColor。提前致谢。

最佳答案

按钮 BG 的选择器:

 <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 android:state_focused="true">
<shape>
<solid android:color="#424242" /> //another custom shape here for focus state
</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 xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/white" /> <!-- pressed -->
<item android:color="@color/black" /> <!-- default/unchecked -->
</selector>

关于Android - 如何结合按钮的形状可绘制和文本颜色不同状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7756243/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com