Ped*_*dro 28 android imagebutton
我想留下一个ImageButton被禁用(不可点击)但已经使用过但android: enabled = "false"不起作用.
有谁知道如何禁用的ImageButton?
小智 25
如果你想将按钮显示为禁用(如果你在xml可绘制文件中设置了那个),那么两个setClickable(false)AND setEnabled(false)都可以完成.
Cri*_*ian 14
您可以使用android:clickableXML上的属性或setClickable(boolean)代码中的方法.
为 设置点击侦听器时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)
如果你想禁用和“灰色”图像,我使用以下(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)
请注意,您的背景颜色将定义禁用状态的颜色。取决于你想要的结果。