gpt4 book ai didi

Android:选择器中禁用按钮的文本颜色未显示?

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

我正在尝试制作一个带有选择器的按钮,我的按钮可以具有以下状态:

  • 启用/禁用
  • 按下/未按下

根据上述状态。我需要操纵按钮的:

  • 文字颜色
  • 背景图片

该按钮从我被禁用开始,因此它应该具有禁用的 textColor 和禁用的按钮背景。但是我可以看到默认的 textColor(在样式中指定)并且没有背景图片!

这是我的选择器 button_selector.xml

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="false"
android:state_enabled="false"
android:textColor="#9D9FA2"
android:drawable="@drawable/button" />

<item android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/button_pressed"/>

<item android:state_pressed="true"
android:state_enabled="false"
android:textColor="#9D9FA2"
android:drawable="@drawable/button"/>

<item android:state_pressed="false"
android:state_enabled="true"
android:drawable="@drawable/button"/>

</selector>

这是我在 layout.xml 中的按钮声明

    <Button android:id="@+id/reserve_button"
android:text="@string/reserve_button"
android:layout_width="120dp"
android:layout_height="40dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="20dp"
android:paddingRight="15dp"
android:layout_gravity="left"
style="@style/buttonStyle"
android:background="@drawable/button_selector" />

最后这是我的风格(设置了我的默认 textColor)

<?xml version="1.0" encoding="utf-8"?>

<resources>

<style name="buttonStyle">
<item name="android:textStyle">bold</item>
<item name="android:textColor">#282780</item>
<item name="android:textSize">18sp</item>
</style>

</resources>

请帮忙!

最佳答案

您还需要创建一个 ColorStateList用于标识不同状态的文本颜色。

执行以下操作:

  1. res\color 中创建另一个名为 text_color.xml 的 XML 文件。

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- disabled state -->
    <item android:state_enabled="false" android:color="#9D9FA2" />
    <item android:color="#000"/>
    </selector>
  2. 在您的 style.xml 中,按如下方式引用该 text_color.xml 文件:

    <style name="buttonStyle" parent="@android:style/Widget.Button">
    <item name="android:textStyle">bold</item>
    <item name="android:textColor">@color/text_color</item>
    <item name="android:textSize">18sp</item>
    </style>

这应该可以解决您的问题。

关于Android:选择器中禁用按钮的文本颜色未显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33139943/

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