android - studio - kotlin bottom navigation
deshabilitar un ImageButton? (5)
Quería dejar un ImageButton
deshabilitado (no se puede hacer clic) pero he usado android: enabled = "false"
y no funciona.
¿Alguien sabe como deshabilitar un ImageButton
?
Al configurar un clicklistener para el ImageButton
, bajo el capó de Android se restablece el atributo pulsable como true
. Es por eso que configurar android:clickable="false"
en xml no es útil.
Además, configurar el atributo android:enabled="false"
en el xml tampoco me funcionó.
Lo que funcionó solo se configura a través del código:
ImageButton mBtnDelayCall = (ImageButton)v.findViewById(R.id.btnCallDelay);
mBtnDelayCall.setEnabled(false);
Puede usar el atributo android:clickable
en el XML, o el setClickable(boolean)
de su código.
Si desea desactivar y "atenuar" la imagen, utilizo lo siguiente (Kotlin):
Inhabilitar:
chevron_left.imageAlpha = 75 // 0 being transparent and 255 being opaque chevron_left.isEnabled = false
Habilitar:
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"/>
Tenga en cuenta que el color de fondo definirá el color del estado desactivado. Depende de tu resultado deseado.
Si desea mostrar el botón como deshabilitado (si tiene esa configuración en un archivo setClickable(false)
xml), haga que setClickable(false)
Y setEnabled(false)
hagan el truco.
ImageButton
como ImageView
no tiene el atributo android:enabled="false"
, porque es el atributo de TextView
. Si desea hacer enable = false
en XML para ImageButton
, debe agregar android:focusable="false"
y android:clickable="false"
.