domingo, 10 de julio de 2016

FRAGMENTOS


1.     Fragmentos

1.1.          Definición

Podríamos definir a un fragmento como una porción de interface de usuario o vista que se integra en una activity. Por lo tanto tendremos la posibilidad de combinar múltiples fragmentos en una sola actividad o incluso reutilizar fragmentos en otras actividades. De esta manera cada fragmento tendrá su propio ciclo de vida, recibirá sus propios eventos de entrada y se podrá agregar o eliminar mientras la activity de acogida este en marcha.
Un fragment no puede considerarse ni un control ni un contenedor, aunque se parecería más a lo segundo. Un fragment podría definirse como una porción de la interfaz de usuario que puede añadirse o eliminarse de la interfaz de forma independiente al resto de elementos de la actividad, y que por supuesto puede reutilizarse en otras actividades. Esto, aunque en principio puede parecer algo trivial, nos va a permitir poder dividir nuestra interfaz en varias porciones de forma que podamos diseñar diversas configuraciones de pantalla, dependiendo de su tamaño y orientación, sin tener que duplicar código en ningún momento, sino tan sólo utilizando o no los distintos fragmentos para cada una de las posibles configuraciones.

1.2.          Tipo de Fragmentos

1.2.1.        Fragmentos Estáticos

Un Fragment estático o final es aquel que se declara en el fichero XML de la carpeta Layout directamente. Este Fragment tendrá la cualidad de no ser eliminado o sustituido por nada -De lo contrario tendremos errores.

1.2.2.        Fragmentos Dinámicos

Un Fragment dinámico es el que se crea desde código Java y se asocia a un ViewGroup (Se recomienda el uso de FrameLayout). Éste sí que se podrá eliminar o sustituir por otro Fragment u otro contenido.
Tenemos el listado, que es algo que siempre va a ser igual (podrán aumentar o disminuir los elementos contenidos en el listado, pero siempre será un listado), por lo que podemos declarar su fragment en el XML, es estático. Y luego tenemos la parte derecha del detalle, dependiendo del seleccionado en el listado mostrará el detalle de un pájaro (descripción, nombre y foto) diferente. Con lo que cada detalle de cada pájaro tendrá su propio Fragment -si los equiparamos a las hojas de un libro, pasar cada Fragment equivaldría a pasar las hojas del libro de pájaros- por lo que nos interesa que estos Fragments sean dinámicos. Lo que nos dibujará el siguiente Layout con un Fragment estático en XML y un FrameLayout que contendrá a los Fragments dinámicos.

1.3.          Ciclo Vital

Aunque el ciclo de vida de un Fragmento está ligada a su actividad propietaria, que tiene su propio ciclo de vida de las arrugas en la actividad estándar. Incluye métodos básicos actividad del ciclo de vida tales como onResume (), pero también es importante son los métodos relacionados con la interacción con la generación y la actividad de la interfaz de usuario.
El núcleo de la serie de métodos de ciclo de vida que son llamados a traer un fragmento de hasta reanudado estado (la interacción con el usuario) son:
1.       onAttach (Actividad) llamada una vez que el fragmento se asocia con su actividad.
2.       onCreate (Bundle) llamó a hacer la creación inicial del fragmento.
3.       onCreateView (LayoutInflater, ViewGroup, Bulto) crea y devuelve la jerarquía vista asociada con el fragmento.
4.       onActivityCreated (Bundle) dice el fragmento que su actividad ha completado su propia Activity.onCreate ().
5.       onViewStateRestored (Bundle) dice el fragmento que todo el estado guardado de su jerarquía de vistas ha sido restaurada.
6.       onStart () hace que el fragmento visible para el usuario (sobre la base de su actividad que contiene se inicia).
7.       onResume () hace que el fragmento de empezar a interactuar con el usuario (basado en ser reanudado su actividad que contiene).
Como ya no se está utilizando un fragmento, que pasa por una serie de devoluciones de llamada inversa:
1.       onPause () fragmento ya no está interactuando con el usuario, ya sea debido a que su actividad se está en pausa o una operación fragmento está modificando en la actividad.
2.       onStop () fragmento ya no es visible para el usuario, ya sea debido a que su actividad está siendo parado o una operación de fragmento está modificando en la actividad.
3.       onDestroyView () permite que el fragmento de limpiar los recursos asociados con su punto de vista.
4.       OnDestroy () llamada a hacer la limpieza final del estado del fragmento.
5.       onDetach () llama inmediatamente antes de la fragmento ya no estar asociado con su actividad.

0 comentarios:

Publicar un comentario