如何使用AppCompat设置按钮的禁用颜色?

亚历山大

我使用这种样式来更改我的背景颜色Button

<style name="AccentButton" parent="Widget.AppCompat.Button.Colored">
    <item name="colorButtonNormal">@color/colorAccent</item>
    <item name="android:textColor">@color/white</item>
</style>

并在布局中:

    <Button
        android:id="@+id/login_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/fragment_login_login_button"
        app:theme="@style/AccentButton"/>

有用。但是,当我叫setEnabled(false)这个Button,它保持相同的颜色。如何处理此案?

伊恩汉尼巴拉克

您没有Widget.AppCompat.Button.Colored正确使用样式。您使用的是父样式(Widget.AppCompat.Button.Colored),但将其用作主题。这实际上意味着该Widget.AppCompat.Button.Colored零件将被完全忽略,而您只是在更改按钮的默认颜色(该按钮有效,但不能处理禁用的情况)。

相反,您应该使用ThemeOverlay和分别应用Colored样式:

<style name="AccentButton" parent="ThemeOverlay.AppCompat.Dark">
   <!-- customize colorButtonNormal for the disable color -->
   <!-- customize colorAccent for the enabled color -->
</style>

<Button
    android:id="@+id/login_button"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/fragment_login_login_button"
    android:theme="@style/AccentButton"
    style="@style/Widget.AppCompat.Button.Colored"/>

该答案中Widget.AppCompat.Button.Colored提到的使用样式一样,禁用的颜色由控制,colorButtonNormal启用的颜色由控制colorAccent通过使用ThemeOverlay.AppCompat.DarktextColor会自动更改为深色,这意味着您可能根本不需要该自定义ThemeOverlay

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Dojo:如何设置为禁用新按钮

来自分类Dev

禁用按钮时如何避免颜色变化?

来自分类Dev

如何使用背景颜色设置圆形按钮并在按下时更改颜色

来自分类Dev

如何使用QSS为禁用的按钮设置不同的背景颜色?

来自分类Dev

如何通过转换器设置禁用按钮上的背景颜色?

来自分类Dev

如何使用AppCompat覆盖CheckBox颜色

来自分类Dev

如何使用JQUERY禁用PHP中的按钮?

来自分类Dev

如何使用php和javascript禁用按钮

来自分类Dev

如何更改Bootstrap已禁用按钮的颜色?

来自分类Dev

如何使用最新的AppCompat对按钮进行着色

来自分类Dev

将自定义颜色的按钮设置为禁用的样式

来自分类Dev

如何为禁用的NSButton设置标题颜色?(OS X)

来自分类Dev

如何更改主题中的材质按钮禁用状态背景颜色?

来自分类Dev

如何设置Xamarin表单输入字段的禁用文本颜色?

来自分类Dev

如何使用react-native-paper主题设置禁用按钮的颜色?

来自分类Dev

如何使用Java禁用按钮

来自分类Dev

如何设置JetpackCompose按钮背景颜色

来自分类Dev

如何使用Slack API为Slack上的按钮设置颜色

来自分类Dev

如何为JLabel设置禁用的文本颜色?

来自分类Dev

如何使用点击事件禁用Dojo按钮

来自分类Dev

禁用按钮时如何避免颜色变化?

来自分类Dev

我如何禁用应用程序内设置按钮

来自分类Dev

如何使用背景颜色设置圆形按钮并在按下时更改颜色

来自分类Dev

禁用按钮,但保持背景颜色

来自分类Dev

如何使用jQuery禁用提交按钮

来自分类Dev

如何使用php和javascript禁用按钮

来自分类Dev

当CSS悬停时,如何使禁用的按钮不更改颜色?

来自分类Dev

如何更改,禁用按钮颜色的FMX?

来自分类Dev

使用 SwiftUI 为启用/禁用按钮设置颜色的最聪明方法

Related 相关文章

  1. 1

    Dojo:如何设置为禁用新按钮

  2. 2

    禁用按钮时如何避免颜色变化?

  3. 3

    如何使用背景颜色设置圆形按钮并在按下时更改颜色

  4. 4

    如何使用QSS为禁用的按钮设置不同的背景颜色?

  5. 5

    如何通过转换器设置禁用按钮上的背景颜色?

  6. 6

    如何使用AppCompat覆盖CheckBox颜色

  7. 7

    如何使用JQUERY禁用PHP中的按钮?

  8. 8

    如何使用php和javascript禁用按钮

  9. 9

    如何更改Bootstrap已禁用按钮的颜色?

  10. 10

    如何使用最新的AppCompat对按钮进行着色

  11. 11

    将自定义颜色的按钮设置为禁用的样式

  12. 12

    如何为禁用的NSButton设置标题颜色?(OS X)

  13. 13

    如何更改主题中的材质按钮禁用状态背景颜色?

  14. 14

    如何设置Xamarin表单输入字段的禁用文本颜色?

  15. 15

    如何使用react-native-paper主题设置禁用按钮的颜色?

  16. 16

    如何使用Java禁用按钮

  17. 17

    如何设置JetpackCompose按钮背景颜色

  18. 18

    如何使用Slack API为Slack上的按钮设置颜色

  19. 19

    如何为JLabel设置禁用的文本颜色?

  20. 20

    如何使用点击事件禁用Dojo按钮

  21. 21

    禁用按钮时如何避免颜色变化?

  22. 22

    我如何禁用应用程序内设置按钮

  23. 23

    如何使用背景颜色设置圆形按钮并在按下时更改颜色

  24. 24

    禁用按钮,但保持背景颜色

  25. 25

    如何使用jQuery禁用提交按钮

  26. 26

    如何使用php和javascript禁用按钮

  27. 27

    当CSS悬停时,如何使禁用的按钮不更改颜色?

  28. 28

    如何更改,禁用按钮颜色的FMX?

  29. 29

    使用 SwiftUI 为启用/禁用按钮设置颜色的最聪明方法

热门标签

归档