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 se ejecuta la actividad.
- Puede combinar varios fragmentos en una sola actividad para crear una interfaz de usuario multiplano.
- Un fragmento puede usarse en múltiples actividades.
- El ciclo de vida del fragmento está estrechamente relacionado con el ciclo de vida de su actividad de acogida, lo que significa que cuando la actividad está en pausa, todos los fragmentos disponibles en la actividad también se detendrán.
- Un fragmento puede implementar un comportamiento que no tiene un componente de interfaz de usuario.
- Se agregaron fragmentos a la API de Android en la versión Honeycomb de Android que API versión 11.
Puede crear fragmentos extendiendo la clase Fragment 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 un elemento .
- ¿Debería un hackathon tener habitaciones separadas o una sola habitación amplia?
- ¿Cuál es el mejor libro para un principiante para aprender Android?
- ¿Cuáles son las aplicaciones móviles imprescindibles para desarrolladores?
- Cómo comenzar a desarrollar una aplicación de Android que eventualmente se convertirá en mi fuente de ingresos
- Siendo un codificador de C ++, ¿cuál sería la forma más rápida de crear una aplicación de Android simple?
Antes de la introducción del fragmento, teníamos una limitación porque solo podemos mostrar una sola actividad en la pantalla en un momento dado. 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 comprender múltiples fragmentos que tendrán su propio diseño, eventos y ciclo de vida completo.
El siguiente es un ejemplo típico de cómo dos módulos de IU definidos por fragmentos se pueden combinar en una actividad para un diseño de tableta, pero separados para un diseño de 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 solo incluye el fragmento para 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.
Fragmento del ciclo de vida
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.
FRAGMENT LIFECYCLE
Aquí está la lista de métodos que puede anular en su clase de fragmento:
- onAttach () La instancia de 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 utiliza el fragmento para el 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 retener cuando el fragmento se detiene o detiene, y luego se reanuda.
- onCreateView () El sistema llama a esta devolución de llamada cuando es hora de que el fragmento dibuje su interfaz de usuario por primera vez. Para dibujar una IU para su fragmento, debe devolver un componente de Vista de este método que es la raíz del diseño de su fragmento. Puede devolver nulo si el fragmento no proporciona una interfaz de usuario.
- onActivityCreated () Se llama a onActivityCreated () después del método onCreateView () cuando se crea la actividad del host. La actividad y la instancia de fragmento se han creado, así como la jerarquía de vistas 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 Context
- onStart () El método onStart () se llama una vez que el fragmento se hace visible.
- onResume () Fragment se vuelve activo.
- onPause () El sistema llama a este método como la primera indicación de que el usuario está abandonando el fragmento. Aquí es generalmente donde debe confirmar cualquier cambio que deba persistir más allá de la sesión de usuario actual.
- El fragmento onStop () se detendrá llamando a onStop ()
- La vista del fragmento onDestroyView () se destruirá después de llamar a este método
- onDestroy () onDestroy () llamado para hacer una limpieza final del estado del fragmento pero no se garantiza que la plataforma Android lo llame.
¿Cómo usar Fragments?
Esto implica varios pasos simples para crear Fragmentos.
- En primer lugar, decida cuántos fragmentos desea usar en una actividad. Por ejemplo, queramos usar dos fragmentos para manejar los modos horizontal y vertical del dispositivo.
- Luego, según el número de fragmentos, cree clases que amplíen la clase Fragment . La clase Fragment tiene funciones de devolución de llamada mencionadas anteriormente. Puede anular cualquiera de las funciones según sus requisitos.
- En correspondencia con cada fragmento, deberá crear archivos de diseño en un archivo XML. Estos archivos tendrán un 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.
- Fragmento de fotograma único: los fragmentos de fotograma único se utilizan para dispositivos de mano como móviles, aquí solo podemos mostrar un fragmento como vista.
- fragmento de lista: los fragmentos que tienen una vista de lista especial se llaman fragmentos de lista
- Fragment Transacyion: se usa con fragmentos de transacción. podemos mover un fragmento a otro fragmento.