Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Leanback.DetailsFragment no se desplaza como se esperaba

Tengo un fragmento de los detalles que está utilizando un DetailsOverviewRow y FullWidthDetailsOverviewRowPresenter. Cuando la página se carga por primera vez, se seleccionan los botones de acción. Cuando presiono una vez, el enfoque deja los botones y nada más sucede. Cuando presiono una segunda vez el foco se mueve a un ListRow que está más abajo en la página. Estoy tratando de averiguar por qué la descripción, o el cuerpo como se llama en el presentador, sección no se centra.

DetailsView estado inicial

DetailsView desplazado

¿No debería haber un segundo "estado" entre las dos capturas de pantalla donde el resumen / cuerpo es legible?

Posiblemente de nota. El DetailsFragment no se declara en un xml de actividades, estoy cambiando fragmentos manualmente usando FragmentTransactions. Además, el fragmento se instancia utilizando un método de creación estática (fuente de abajo).

Gracias por adelantado.

Actividad xml

DetallesFragmento java

  • PhoneGap: inicia otra aplicación desde la aplicación actual
  • Cómo Robolectric trabaja con Volley
  • Voleibol y datos de procesamiento devueltos en segundo plano en Android
  • Excepción cuando ejecuto mi aplicación desde Eclipse
  • ¿Cómo seleccionar qué botón pulsar sobre Robotium para un diálogo de alerta?
  • Android MultiDex - Preguntas sobre el funcionamiento interno
  • La cámara Android no funcionará. StartPreview falla
  • Agregar evento semanal al calendario
  • 3 Solutions collect form web for “Leanback.DetailsFragment no se desplaza como se esperaba”

    No he probado este ejemplo en particular, pero a partir de mi tiempo pasado con la biblioteca de soporte de Leanback, aprendí que a pesar de que un montón de cosas útiles se proporciona de hecho, mucho no es: D

    Así que intentaría estas cosas:

    1) Asegúrese de que algo en el área que desea visibles se puede enfocar. (Los elementos que se pueden hacer clic deben enfocarse de forma predeterminada, pero es mejor comprobarlo también) Lo que quiero decir es que en la captura de pantalla, solo hay texto, botones o contenido editable en esa área. Así que cuando presiones hacia abajo, no hay nada que enfocar. ¿Qué sucede si haces que el cuerpo de TextView se pueda enfocar? (Sí, uno esperaría que la biblioteca de apoyo se ocuparía de eso, pero puede que no sea el caso).

    2) Descubra lo que en realidad se enfoca cuando presiona, ya que como usted dijo, el enfoque deja los botones – pero ¿a dónde va? ( ¿Cómo averiguar qué vista está enfocada? ) Es posible que tenga un "problema de dirección" en alguna parte. Es decir – el foco viaja basado en el árbol de jerarquía de vista, no basado en lo que vemos en la pantalla. En algunos casos, es posible omitir algunos elementos o quedar atrapados en algún lugar moviendo el foco a través de una parte inesperada del árbol de vista, eso tiene sentido para el algoritmo, pero no es lógico desde la perspectiva humana.

    Los detalles del enfoque del presentador funcionan de esta manera: 1) Se da el primer enfoque a los botones de Acción. La tecla de navegación derecha / izquierda desplaza el enfoque derecho / izquierdo entre los botones de acción.

    2) La prensa de navegación hacia abajo de la fila de acciones desplaza el foco de la fila de acciones a la fila de detalles (los elementos de detalles individuales no se pueden enfocar), esto se consigue desplazando la posición de anclaje de Thumbnail hacia el sur.

    3) Abajo la prensa de nav desde la fila de detalles cambia el enfoque de la fila de detalles a la fila relacionada.

    Por lo tanto, la fila de detalles aumenta el foco cambiando la posición de anclaje de la imagen en miniatura. ¿Su imagen en miniatura cambia su posición de anclaje al presionar hacia abajo desde la fila de acciones?

    Odio responder a mi propia pregunta. Esto se debió a mi falta de RTFM. Yo estaba creando el fragmento de interfaz de usuario después de una solicitud de red se completa. Para que FullWidthDetailsPresenter funcione correctamente, el ClassPresenterSelector () debe ser inicializado en el método onCreate () de los fragmentos.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.