【问题标题】:disable button with custom background android禁用带有自定义背景android的按钮
【发布时间】:2012-03-21 21:08:38
【问题描述】:

当我有一个 android 按钮并将其设置为禁用时,该按钮看起来是“透明的”。

我有一个带有自定义背景的按钮,用于按下和聚焦状态。我想从代码中禁用它。当我尝试button.setEnabled(false); 时,我禁用了该按钮,但它保持相同的自定义背景。知道如何禁用我的自定义按钮并将背景也更改为透明吗?

【问题讨论】:

标签: android button transparent


【解决方案1】:

您应该像这样创建自定义选择器:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item 
    android:state_enabled="false"
        android:drawable="@drawable/btn_red" />
    <item 
        android:state_pressed="true" 
        android:state_enabled="true"
        android:drawable="@drawable/btn_orange" />
    <item 
        android:state_focused="true" 
        android:state_enabled="true"
        android:drawable="@drawable/btn_orange" />
    <item 
        android:state_enabled="true"
        android:drawable="@drawable/btn_black" />
</selector>

【讨论】:

  • 对于该选择器,在 res/drawable/ directory 中创建一个新的 XML 文件
【解决方案2】:

也许您可以使用android:state_enabled 并在您的选择器中为该按钮设置适当的透明可绘制对象?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 2019-04-09
    相关资源
    最近更新 更多