禁用ImageButton?

Ped*_*dro 28 android imagebutton

我想留下一个ImageButton禁用(不可点击)但已经使用过但android: enabled = "false"不起作用.

有谁知道如何禁用ImageButton

小智 25

如果你想将按钮显示为禁用(如果你在xml可绘制文件中设置了那个),那么两个setClickable(false)AND setEnabled(false)都可以完成.

  • 请注意,设置这些属性确实会阻止单击图像按钮,但它不会像普通按钮那样使按钮变灰 (2认同)

Cri*_*ian 14

您可以使用android:clickableXML上的属性或setClickable(boolean)代码中的方法.

  • 如果你想让它显得灰白,请看:http://stackoverflow.com/a/14128907/832776 (2认同)

use*_*714 8

为 设置点击侦听器时ImageButton,在底层android 会将属性 clickable 重置为true。这就是为什么android:clickable="false"在 xml 中设置没有帮助的原因。

此外,android:enabled="false"在 xml 中设置属性对我也不起作用。

什么工作只是通过代码设置:

ImageButton mBtnDelayCall = (ImageButton)v.findViewById(R.id.btnCallDelay);
mBtnDelayCall.setEnabled(false);
Run Code Online (Sandbox Code Playgroud)


Jav*_*tar 7

如果你想禁用“灰色”图像,我使用以下(Kotlin):

禁用:

chevron_left.imageAlpha = 75 // 0 being transparent and 255 being opaque
chevron_left.isEnabled = false
Run Code Online (Sandbox Code Playgroud)

使能够:

chevron_left.imageAlpha = 255
chevron_left.isEnabled = true
Run Code Online (Sandbox Code Playgroud)

XML:

<ImageButton
            android:id="@+id/chevron_left"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:layout_marginBottom="4dp"
            android:layout_marginStart="4dp"
            android:background="?android:attr/selectableItemBackgroundBorderless"
            android:src="@drawable/chevron_left"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toStartOf="parent"/>
Run Code Online (Sandbox Code Playgroud)

请注意,您的背景颜色将定义禁用状态的颜色。取决于你想要的结果。