Android Fragments
Programación Móvil
Ingeniería de Sistemas
Profesor: Andrés Esteban Pérez Ramírez
¿Que es un Fragmento?
Un fragmento es una sección modular de interfaz de usuario embebida dentro de una
actividad anfitriona, el cual permite versatilidad y optimización de diseño. Se trata de
mini-actividades contenidas dentro de una actividad anfitriona, manejando su propio
diseño (un recurso layout propio) y ciclo de vida.
¿Por qué Fragmentos?
La necesidad de usar fragmentos nace con la versión 3.0 (API 11) de Android debido a
los múltiples tamaños de pantalla que estaban apareciendo en el mercado y a la
capacidad de orientación de la interfaz ( Landscape y Portrait). Estas características
necesitaban dotar a las aplicaciones Android de la capacidad para adaptarse y responder
a la interfaz de usuario sin importar el dispositivo.
Ventajas de los fragmentos
Los fragmentos permiten reusar código y
ahorrar tiempo de diseño a la hora de
desarrollar una aplicación. Los fragmentos
facilitan el despliegue de tus aplicaciones
en cualquier tipo de tamaño de pantalla y
orientación.
Ventajas de los fragmentos
Los fragmentos permiten crear diseños de
interfaces de usuario de múltiples vistas.
¿Qué quiere decir eso?, que los fragmentos
son imprescindibles para generar
actividades con diseños dinámicos, como
por ejemplo el uso de pestañas de
navegación, expand and collapse, stacking,
etc.
Ciclo de vida de
un fragmento
Ciclo de vida de un fragmento
● onAttach(): Es invocado cuando el fragmento ha sido asociado a la actividad
anfitriona.
● onActivityCreated(): Se ejecuta cuando la actividad anfitriona ya ha terminado la
ejecución de su método onCreate().
● onCreated(): Este método es llamado cuando el fragmento se está creando. En el
puedes inicializar todos los componentes que deseas guardar si el fragmento fue
pausado o detenido.
● onCreatedView(): Se llama cuando el fragmento será dibujado por primera vez en
Ciclo de vida de un fragmento
● onStart(): Se llama cuando el fragmento está visible ante el usuario. Obviamente
depende del método onStart() de la actividad para saber si la actividad se está
mostrando.
● onResume(): Es ejecutado cuando el fragmento está activo e interactuando con el
usuario. Esta situación depende de la que actividad anfitriona este primero en su
estado Resumed.
● onStop(): Se llama cuando un fragmento ya no es visible para el usuario debido a
que la actividad anfitriona está detenida o porque dentro de la actividad se está
gestionando una operación de fragmentos.
Ciclo de vida de un fragmento
● onPause(): Al igual que las actividades, onPause se ejecuta cuando se detecta que
el usuario el foco por fuera del fragmento.
● onDestroyView(): Este método es llamado cuando la jerarquía de views a la cual
ha sido asociado el fragmento ha sido destruida.
● onDetach(): Se llama cuando el fragmento ya no está asociado a la actividad
anfitriona.
Clase Fragment
Los fragmentos son representados en el API de Android por la clase Fragment, por lo que
cada vez que vayamos a crear un fragmento personalizado debemos crear una nueva
clase que herede sus propiedades y comportamientos.
public static class FragmentoEjemplo extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return [Link]([Link].fragmento_ejemplo, container, false);
}
}
Añadir el fragmento en el activity
FragmentTransaction y FragmentManager
Con FragmentTransaction podemos
añadir, reemplazar y eliminar
fragmentos en tiempo de ejecución a
través de Transacciones.
FragmentManager es la encargada de
administrar los fragmentos y es la que
permite coordinar las transacciones de
los fragmentos.
Ejemplo FragmentTransaction
Ejemplo GitHub
[Link]