Está en la página 1de 17

¿QUÉ ES UN FRAGMENT?

Los fragments permiten dividir la pantalla


de una aplicación para optimizar el diseño
de la interfaz de usuario, además, permiten
que en cada sección se asocie todo el
conjunto de vistas que el layout de ese
fragmento incluirá.
¿QUÉ ES UN FRAGMENT?
- Aparecen en a partir de Android 3.0
(Honeycomb), pero se pueden utilizar en
versiones anteriores de Android.
- Para cada fragment se crea una clase que no
extiende de Activity sino de Fragment.
- Para cada fragment se crea un Layout donde
se definen sus vistas.
- En lugar del método onCreate() en la clase
Fragment, utilizamos el método
onCreateView().
- En una Activity se asigna el Layout con el
método setContentView(), en un Fragment se
utiliza un objeto de la clase LayoutInflater.
CICLO DE VIDA DE LOS FRAGMENTS
Los fragments tienen su propio ciclo de vida, sin embargo son afectados por el ciclo
de vida de la actividad.

• onAttach(): se llama cuando el fragmento se agrega a la actividad.


• onCreate(): se llama cuando el fragmento es creado.
• onCreateView(): retorna una vista, esta es la interfaz de usuario del fragmento.
Si el fragmento carece de interfaz de usuario y trabaja en segundo plano, el
método retorna null.
• onActivityCreated(): este método se llama luego que la actidad se ha creado.
• onStart(): luego de llamar este método las vistas del fragmento son visibles al
usuario.
• onResume(): luego de llamarse este método, el fragmento se activa y el
ususario puede interactuar con él. Este método podría ser llamado más de una
vez, porque se llama siempre que la aplicación es reiniciada o pausada.
CICLO DE VIDA DE LOS FRAGMENTS
Los siguientes métodos intervienen en la destrucción del ciclo de vida de un
fragmento:

• onPause(): el método se llama cuando el fragmento se pausa y no interactúa


por largo tiempo con el usuario.
• onStop(): este método se llama cuando el fragmento se detiene. El fragmento
no es visible al usuario después que el método se llama.
• onDestroyView(): este método se llama al destruirse la vista del fragmento.
• onDestroy(): este método se llama cuando el fragmento no está en uso por
largo tiempo.
• onDetach(): este método se llama cuando el fragmento se remueve de la
actividad.
Tipos de fragments
De forma general se reconocen dos tipos de fragments los estáticos y dinámicos:

• Fragments estáticos: deben definirse en el Layout de la actividad principal de la aplicación que los
contiene mediante la etiqueta <fragment>.

• Fragments dinámicos: cambian entre unos y otros según la disposición del dispositivo, o según el
tamaño de la pantalla y no se definen en el Layout de la actividad principal de la aplicación que los
contiene. Sin embargo se debe utilizar objetos de la clase FragmentManager y FragmentTrasaction para
reemplazar los distintos fragmentos dentro de una misma actividad.

Algunos fragments de carácter específico y utilizados comúnmente son:


- DialogFragment.
- ListFragment.
- PreferenceFragment.
- WebViewFragment
Librerías a utilizar dependiendo de la versión de Android donde se pretende
ejecutar el fragment.

• Para versiones iguales o mayor a Android 3.0 (API 11):

• Para versiones inferiores a la actual, a partir de Android 1.6:

¡¡Nunca combinar ambas librerías!!


Ejercicio con fragmentos estáticos.

Crear la aplicación que a continuación se muestra.

En el siguiente ejercicio veremos como es posible


fragmentar la pantalla y en cada porción de ella realizar
distintas acciones. En este caso simplemente dividiremos la
pantalla en tres partes(fragmentos), al layout de cada uno le
pondremos un color distinto para diferenciarlos entre si, por
cada fragmento mostraremos un mensaje.
A continuación se muestra la pantalla de la ejecución del
ejercicio.
Paso 1: crear un nuevo proyecto. Paso 2: crear el layout que corresponde a cada fragmento.
Crearemos los tres fragmentos que se muestran en la imagen.
Cree un nuevo proyecto de android. Esto le para cada fragmento que deseemos crear debe diseñarse su
va a generar una clase y un layout. Así: layout y su clase, procedamos entonces a crear primero todos
sus layouts. El orden de creación no importa, podría crear
primero las clases.
Siga los mismos pasos para crear los tres layouts. Lo primero
es dar click derecho sobre la carpeta de los layouts de su
proyecto y seguir los pasos de la siguiente imagen:

Siga los mismos pasos y agregue dos


layout más. Considere los siguientes
nombres "fragmento_dos" y "fragmento
_tres".
Paso 3: crear la clase que corresponde a cada fragmento.

Ahora agreguemos las clases. Cada clase debe tener asociado un layout, los cuales hasta este momento ya los
tenemos creados, sólo tendremos que vincular a la clase del fragmento el layout. Procedamos a la creación de las
clases y a asociarles un layout a cada una.
Para agregar una clase siga los pasos mostrados en la imagen siguiente.

Siga el mismo procecimiento para crear las otras dos clases. Considere los siguientes
nombres "Fragmento_dos" y "Fragmento_tres".
Por ahora usted tendrá las
clases y layouts mostrados a Paso 4: agregar a cada layout las vistas o diseño que tendrá.
continuación:
Para nuestro ejercicio simplemente cambiaremos el color de fondo y le
pondremos un texto a cada layout, por supuesto que eso es únicamente es
para brindar la idea de lo que usted podría hacer.
Coloque a cada layout el color de fondo y texto que prefiera. Así:

Como ve, en mi caso he usado


sólo RelativeLayout, sin embargo
puede usar el tipo con el que más
cómodo se sienta. En las
imágenes se indica las
propiedades que deberían
modificarse de cada vista,
recuerde que para activar las
propiedades de una vista primero
debemos seleccionarla dando un
click.
Paso 5: crearemos las clases de cada fragmento.

Ahora en cada clase que corresponde a cada fragmento agregaremos la librería que permitirá que la aplicación se
ejecute en nuestro dispositivo móbil dependiendo de la versión de Android que tengamos instalada. También
asociaremos a cada clase el layout. Para nuestro caso importaremos la librería import
android.support.v4.app.Fragment con esto garantizaremos que la aplicación se ejecute en dispositivos móbiles
que tengan instalado el sistema operativo android a partir de la versión 1.6 hasta la actual.
Seguiremos ese mismo procedimiento en cada clase, posteriormente en cada una de ellas asociaremos el layout que
queremos que inflen.

Clase fragmento1:
Clase fragmento 2:
Clase fragmento 3:
Paso 6: vincular cada fragmento al layout de la actividad principal.

Ya sólo nos queda que en la interfaz principal de nuestra aplicación vinculemos cada fragmento. Como en este caso
se trata de fragmentos estáticos la vinculación debe ser directa al layout donde queremos que se muestre el diseño
de nuestro fragmento, al tratarse de fragments dinámicos el cambio de fragments se realiza dinámicamente mediante
código. Veamos como agregar manualmente un fragmento.

Primero ubíquese en el layout de su actividad principal y siga el proceso siguiente:


Como puede ver en la imagen, he resaltado en amarillo los fragment, usted solo seleccione el que va a agregar y da
click en ok. Ahí sólo le aparecerán los fragment que ya estén creados.

Al final el diseño debe quedar algo parecido al siguiente:

Para lograr la distribución de esa


forma he utilizado LinearLayout,
usted puede distribuirlos como mejor
le parezacan.
¡OJO!
Si luego de agregar el fragment la pantalla se muestra así como se indica en el círculo amarillo, entonces de un
click en la opción que indica la flecha roja, eso permitirá solucionar el inconveniente. La opción Pick Layout... es
para seleccionar otro layout en caso que no sea el que se muestra en la flecha:

Con este ejercicio hemos visto


como los fragment nos permiten
dividir la pantalla del dispositivo
en las partes que pudieran
necesitarse y en cada una de
ellas hacer distintas acciones.

También podría gustarte