Está en la página 1de 17

QU ES UN FRAGMENT?

Los fragments permiten dividir la pantalla


de una aplicacin para optimizar el diseo
de la interfaz de usuario, adems, permiten
que en cada seccin 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 mtodo onCreate() en la clase
Fragment, utilizamos el mtodo
onCreateView().
- En una Activity se asigna el Layout con el
mtodo 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
mtodo retorna null.
onActivityCreated(): este mtodo se llama luego que la actidad se ha creado.
onStart(): luego de llamar este mtodo las vistas del fragmento son visibles al
usuario.
onResume(): luego de llamarse este mtodo, el fragmento se activa y el
ususario puede interactuar con l. Este mtodo podra ser llamado ms de una
vez, porque se llama siempre que la aplicacin es reiniciada o pausada.
CICLO DE VIDA DE LOS FRAGMENTS
Los siguientes mtodos intervienen en la destruccin del ciclo de vida de un
fragmento:

onPause(): el mtodo se llama cuando el fragmento se pausa y no interacta


por largo tiempo con el usuario.
onStop(): este mtodo se llama cuando el fragmento se detiene. El fragmento
no es visible al usuario despus que el mtodo se llama.
onDestroyView(): este mtodo se llama al destruirse la vista del fragmento.
onDestroy(): este mtodo se llama cuando el fragmento no est en uso por
largo tiempo.
onDetach(): este mtodo se llama cuando el fragmento se remueve de la
actividad.
Tipos de fragments
De forma general se reconocen dos tipos de fragments los estticos y dinmicos:

Fragments estticos: deben definirse en el Layout de la actividad principal de la aplicacin que los
contiene mediante la etiqueta <fragment>.

Fragments dinmicos: cambian entre unos y otros segn la disposicin del dispositivo, o segn el
tamao de la pantalla y no se definen en el Layout de la actividad principal de la aplicacin 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 carcter especfico y utilizados comnmente son:


- DialogFragment.
- ListFragment.
- PreferenceFragment.
- WebViewFragment
Libreras a utilizar dependiendo de la versin 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 libreras!!


Ejercicio con fragmentos estticos.

Crear la aplicacin que a continuacin se muestra.

En el siguiente ejercicio veremos como es posible


fragmentar la pantalla y en cada porcin 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 continuacin se muestra la pantalla de la ejecucin 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 disearse 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 creacin no importa, podra 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 ms. 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, slo tendremos que vincular a la clase del fragmento el layout. Procedamos a la creacin 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 diseo que tendr.
continuacin:
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 podra hacer.
Coloque a cada layout el color de fondo y texto que prefiera. As:

Como ve, en mi caso he usado


slo RelativeLayout, sin embargo
puede usar el tipo con el que ms
cmodo se sienta. En las
imgenes se indica las
propiedades que deberan
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 librera que permitir que la aplicacin se
ejecute en nuestro dispositivo mbil dependiendo de la versin de Android que tengamos instalada. Tambin
asociaremos a cada clase el layout. Para nuestro caso importaremos la librera import
android.support.v4.app.Fragment con esto garantizaremos que la aplicacin se ejecute en dispositivos mbiles
que tengan instalado el sistema operativo android a partir de la versin 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 slo nos queda que en la interfaz principal de nuestra aplicacin vinculemos cada fragmento. Como en este caso
se trata de fragmentos estticos la vinculacin debe ser directa al layout donde queremos que se muestre el diseo
de nuestro fragmento, al tratarse de fragments dinmicos el cambio de fragments se realiza dinmicamente mediante
cdigo. Veamos como agregar manualmente un fragmento.

Primero ubquese 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 slo le aparecern los fragment que ya estn creados.

Al final el diseo debe quedar algo parecido al siguiente:

Para lograr la distribucin 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 crculo amarillo, entonces de un
click en la opcin que indica la flecha roja, eso permitir solucionar el inconveniente. La opcin 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