我想留下ImageButton
禁用(不可点击),但使用了android: enabled = "false"
并且无效。
有谁知道如何停用 ImageButton
?
答案 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"/>
注意,您的背景色将定义禁用状态的颜色。取决于您想要的结果。