imagebutton中setEnabled的问题

时间:2016-07-22 16:45:26

标签: android xml android-layout android-imagebutton

我有ImageButtonsetEnabled(false)就是这样,但仅限于模拟器/平板电脑

enter image description here

但是当我将setEnabled(false)放在某些设备上时,该按钮不会改变任何内容

some devices

哪个可以?我会把所有的设备都放在第一张图片中(我尝试使用android:clickable,但没有成功)

这是我的xml:

 <LinearLayout
        android:id="@+id/MenuBotoes"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:background="#fc6719">

        <ImageButton
            android:id="@+id/btnMarcacao"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/draw"/>
        <ImageButton
            android:id="@+id/btnZoom"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/zoom"/>

        <ImageButton
            android:id="@+id/btnBorracha"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/eraser"/>
    </LinearLayout>

1 个答案:

答案 0 :(得分:1)

将按钮设置为启用或禁用不一定会改变它的外观,特别是在图像按钮的情况下。如果您希望根据状态具有不同的外观,则可能需要为图像制作自定义选择器/可绘制/背景。您可以通过将按钮的src或背景更改为可绘制的选择器来完成此操作。

请在此处查看选择器:https://developer.android.com/guide/topics/resources/drawable-resource.html

然后在这里看到:https://developer.android.com/reference/android/graphics/drawable/StateListDrawable.html