Android: fragmentos
UNA Fragment es una parte de una actividad que permite un diseño de actividades más modular. No estará mal si decimos que un fragmento es una especie desub-activity.
Los siguientes son puntos importantes sobre el fragmento:
Un fragmento tiene su propio diseño y su propio comportamiento con sus propias devoluciones de llamada del ciclo de vida.
Puede agregar o eliminar fragmentos en una actividad mientras la actividad se está ejecutando.
Puede combinar varios fragmentos en una sola actividad para crear una interfaz de usuario de varios paneles.
Un fragmento se puede utilizar en múltiples actividades.
El ciclo de vida de los fragmentos está estrechamente relacionado con el ciclo de vida de la actividad de su anfitrión, lo que significa que cuando la actividad se detiene, todos los fragmentos disponibles en la actividad también se detendrán.
Un fragmento puede implementar un comportamiento que no tiene ningún componente de interfaz de usuario.
Se agregaron fragmentos a la API de Android en la versión Honeycomb de Android, cuya versión de API 11.
Creas fragmentos extendiendo Fragment class y Puede insertar un fragmento en el diseño de su actividad declarando el fragmento en el archivo de diseño de la actividad, como <fragment> elemento.
Antes de la introducción del fragmento, teníamos una limitación porque solo podíamos mostrar una única actividad en la pantalla en un momento determinado. Por lo tanto, no pudimos dividir la pantalla del dispositivo y controlar diferentes partes por separado. Pero con la introducción del fragmento obtuvimos más flexibilidad y eliminamos la limitación de tener una sola actividad en la pantalla a la vez. Ahora podemos tener una sola actividad, pero cada actividad puede estar formada por varios fragmentos que tendrán su propio diseño, eventos y ciclo de vida completo.
A continuación se muestra un ejemplo típico de cómo dos módulos de IU definidos por fragmentos se pueden combinar en una actividad para el diseño de una tableta, pero separados para el diseño de un teléfono.
La aplicación puede incrustar dos fragmentos en la Actividad A, cuando se ejecuta en un dispositivo del tamaño de una tableta. Sin embargo, en una pantalla del tamaño de un teléfono, no hay suficiente espacio para ambos fragmentos, por lo que la Actividad A incluye solo el fragmento de la lista de artículos, y cuando el usuario selecciona un artículo, inicia la Actividad B, que incluye el segundo fragmento para leer. el artículo.
Ciclo de vida del fragmento
Los fragmentos de Android tienen su propio ciclo de vida muy similar a una actividad de Android. Esta sección resume las diferentes etapas de su ciclo de vida.
Ciclo de vida del fragmento
Aquí está la lista de métodos que puede anular en su clase de fragmento:
onAttach()La instancia del fragmento está asociada con una instancia de actividad. El fragmento y la actividad no están completamente inicializados. Por lo general, obtiene en este método una referencia a la actividad que usa el fragmento para un trabajo de inicialización adicional.
onCreate()El sistema llama a este método al crear el fragmento. Debe inicializar los componentes esenciales del fragmento que desea conservar cuando el fragmento se pausa o se detiene, y luego se reanuda.
onCreateView()El sistema llama a esta devolución de llamada cuando llega el momento de que el fragmento dibuje su interfaz de usuario por primera vez. Para dibujar una interfaz de usuario para su fragmento, debe devolver unViewcomponente de este método que es la raíz del diseño de su fragmento. Puede devolver un valor nulo si el fragmento no proporciona una interfaz de usuario.
onActivityCreated()El onActivityCreated () se llama después del método onCreateView () cuando se crea la actividad del host. Se ha creado una instancia de actividad y fragmento, así como la jerarquía de vista de la actividad. En este punto, se puede acceder a la vista con el método findViewById (). ejemplo. En este método puede crear instancias de objetos que requieren un objeto de contexto
onStart()El método onStart () se llama una vez que el fragmento se vuelve visible.
onResume()El fragmento se activa.
onPause()El sistema llama a este método como la primera indicación de que el usuario está abandonando el fragmento. Normalmente, aquí es donde debe realizar los cambios que deben persistir más allá de la sesión de usuario actual.
onStop()El fragmento se detendrá llamando a onStop ()
onDestroyView()La vista de fragmentos se destruirá después de llamar a este método
onDestroy()onDestroy () llamado para realizar la limpieza final del estado del fragmento, pero no se garantiza que la plataforma Android lo invoque.
¿Cómo usar Fragments?
Esto implica una serie de sencillos pasos para crear fragmentos.
En primer lugar, decida cuántos fragmentos desea utilizar en una actividad. Por ejemplo, queremos usar dos fragmentos para manejar los modos horizontal y vertical del dispositivo.
A continuación, en función del número de fragmentos, cree clases que ampliarán la clase Fragmento . La clase Fragment tiene las funciones de devolución de llamada mencionadas anteriormente. Puede anular cualquiera de las funciones según sus requisitos.
De acuerdo con cada fragmento, deberá crear archivos de diseño en un archivo XML. Estos archivos tendrán diseño para los fragmentos definidos.
Finalmente, modifique el archivo de actividad para definir la lógica real de reemplazar fragmentos según sus requisitos.
Tipos de fragmentos
Básicamente, los fragmentos se dividen en tres etapas como se muestra a continuación.
Fragmentos de un solo cuadro: los fragmentos de un solo cuadro se utilizan para dispositivos de sujeción manual como móviles, aquí solo podemos mostrar un fragmento como vista.
Fragmentos de lista : los fragmentos que tienen una vista de lista especial se denominan fragmentos de lista
Transacción de fragmentos : uso con transacción de fragmentos. podemos mover un fragmento a otro fragmento.