tutorial studio how developer bottom bar aurelhubert ahbottomnavigation android imagebutton

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);



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