禁用ImageButton?

时间:2010-06-25 12:51:30

标签: android imagebutton

我想留下ImageButton 禁用(不可点击),但使用了android: enabled = "false"并且无效。

有谁知道如何停用 ImageButton

5 个答案:

答案 0 :(得分:25)

如果要将按钮显示为已禁用(如果您在xml可绘制文件中设置了该按钮),同时执行setClickable(false)setEnabled(false)即可。

答案 1 :(得分:14)

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

答案 2 :(得分:3)

ImageButton设置clicklistener时,android会将可点击的属性重置为true。这就是在xml中设置android:clickable="false"无效的原因。

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

只能通过代码设置工作:

ImageButton mBtnDelayCall = (ImageButton)v.findViewById(R.id.btnCallDelay);
mBtnDelayCall.setEnabled(false);

答案 3 :(得分:1)

ImageButton这样的{p> ImageView没有android:enabled="false"属性,因为它是TextView的属性。如果您想要enable = false的XML格式ImageButton,则必须添加android:focusable="false"android:clickable="false"

答案 4 :(得分:1)

如果您要禁用“灰显” 图像,请使用以下内容(科特林):

禁用:

chevron_left.imageAlpha = 75 // 0 being transparent and 255 being opaque
chevron_left.isEnabled = false

启用:

chevron_left.imageAlpha = 255
chevron_left.isEnabled = true

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"/>

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