imagen - imagebutton android studio xml
ListView personalizado de Android con ImageButton no se está enfocando (5)
Estoy desarrollando una aplicación para android tv. Tengo una vista de lista con un ImageButton
+ Textview
s como niños. Como la televisión no recibe eventos táctiles, pero usa el control remoto D-PAD o la bola de seguimiento, tengo que concentrarme en todos los elementos para que el usuario sepa dónde está el foco. Pero el problema es que puedo enfocarme en la fila de la lista si agrego
android:descendantFocusability="blocksDescendants"
en el diseño de la fila de la lista personalizada, pero ImageButton
en la fila de la lista no se enfocará. Y si ImageButton
código anterior, ImageButton
se enfoca pero no puedo hacer clic en la fila de la lista.
También agregué setItemsCanFocus
para mi ListView
pero no tuve suerte, nada cambió. Leí muchos documentos pero no pude encontrar una respuesta adecuada para este problema. Quiero centrarme tanto en la fila de la Lista como en ImageButton
. Es posible, si alguien sabe por favor ayúdame ...
Debo concentrarme en todos los elementos seleccionables para que el usuario sepa dónde está el enfoque. Pero el problema es que puedo enfocarme en la fila de la lista si agrego
La vista se cuelga debido a las múltiples vistas dentro del archivo de la fila, para obtener el clic Debe agregar una propiedad más a su diseño principal de la fila xml.
android:descendantFocusability="blocksDescendants
Pero cuando escribo la propiedad anterior, no puedo enfocar ImageButton, que está en mi archivo de fila.
Acabo de intentar una manera de conseguir foucus en ImageButton
así como en listview
.
Para enfocarte en ImageButton:
- Crear un archivo selector.
- Aplicado en el botón de imagen.
- Se agregó
android:focusableInTouchMode="true"
a ImageButton.
Para enfocarte en Listview:
- Agregue
android:descendantFocusability="blocksDescendants
al diseño principal dentro de la fila xml.
Ahora, cuando haga clic en su ImageButton, se enfocará con el color de su deseo, aunque también se enfocará en la vista de lista.
Selecotor.xml
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
>
<item
android:state_pressed="true"
android:drawable="@android:color/transparent"
/> <!-- pressed -->
<item
android:state_focused="true"
android:drawable="@android:color/darker_gray"
/> <!-- focused -->
<item
android:drawable="@android:drawable/btn_star"
/> <!-- default -->
</selector>
Probado en emulador S3, funciona bien.
Agregue el código siguiente al diseño principal de la fila personalizada,
android:descendantFocusability="blocksDescendants"
y agregue el código de abajo a cualquier botón o ImageButton en ese diseño
android:focusable="false"
android:focusableInTouchMode="false"
Has probado :
setFocusableInTouchMode(false);
o
setFocusable(false);
¿En ambos elementos (ImageButton y TextView)?
Tuve el mismo problema en listView pero encontré la solución, simplemente use imageView en lugar del botón de imagen, luego la fila se podrá hacer clic y se podrá enfocar también.
NOTA: siempre que usemos el botón o el botón de imagen en la lista, la fila de la vista de lista se deshabilita para evitar que esto ocurra, use la vista o la vista de la imagen en su lugar.
Espero que esto te ayude.
Yo tuve el mismo problema antes. Resolví mi problema con la adición (al diseño en xml)
android:focusableInTouchMode="true"
android:clickable="true"
Así que mi problema se resolvió.
Nota: Agregar solo android: focusableInTouchMode = "true" no funciona, debe tener que hacer que el diseño haga clic en true, después de focusableInTouchMode en true.