Ver la Versión Completa : Fragmentos y Activity
joselugf
20/11/16, 11:50:22
Buenos dias, he dado hace poco los fragments, y me gustaría saber si solo debo utilizar fragments o debo combinarlos tambien con las activity. Gracias
kriogeN
20/11/16, 12:02:07
Depende de si tu aplicación necesita de Fragments o no, no son obligatorios.
Te pongo unos ejemplos de uso de Fragments:
Ejemplo 1 (Maestro-Detalle para móvil y tablet)
Es el ejemplo típico de uso de Fragment, y el que viene en la documentación oficial de Google, o al menos el que venía cuando salió ICS.
Tienes una Activity que es una lista, que al pulsarla muestra el elemento de la lista en detalle en otra Activity. Eso en móviles funciona muy bien, pero en tablet quizás te interesaría mostrar una lista ocupando 1/3 de la pantalla y luego a la derecha ocupando 2/3 el detalle, así puedes ir cambiando de elemento que ves sin tener que ir pasando de una pantalla a otra.
En este caso tendrías 2 Fragments, uno con la lista y otro con el detalle, y 2 Activities, uno para móvil y otro para tablet. El del móvil carga siempre 1 único Fragment y se va reemplazando entre lista y detalle, el de la tablet carga 2 Fragments y sólo reemplaza el detalle.
De esta manera el 90% del código es igual entre móvil y tablet, y no necesitas hacer 3 Activities distintas, 2 para móvil y 1 para tablet. Así es más fácil mantener el código.
Ejemplo 2 (Sistema de navegación)
Tienes un sistema de navegación, ya sea en Tabs o en Navigation Drawer. En vez de tener que replicar el sistema en todas tus Activities, tienes 1 única Activity con los Tabs o Navigation Drawer, y vas reemplazando el contenido por el Fragment en cuestión al que quieres navegar.
Esto mismo vale en ViewPagers también.
En cualquier otro caso, apps cuyas Activities no tengan relación con ninguna otra no tienes porqué usar Fragments. Yo por ejemplo sólo uso Fragments para las pantallas que van en la parte principal de la aplicación (donde está el sistema de navegación), a partir de ahí todas las subpantallas que se van abriendo son Activities (salvo que alguna tenga un ViewPager).
Espero haberte ayudado.
joselugf
20/11/16, 12:13:11
Depende de si tu aplicación necesita de Fragments o no, no son obligatorios.
Te pongo unos ejemplos de uso de Fragments:
Ejemplo 1 (Maestro-Detalle para móvil y tablet)
Es el ejemplo típico de uso de Fragment, y el que viene en la documentación oficial de Google, o al menos el que venía cuando salió ICS.
Tienes una Activity que es una lista, que al pulsarla muestra el elemento de la lista en detalle en otra Activity. Eso en móviles funciona muy bien, pero en tablet quizás te interesaría mostrar una lista ocupando 1/3 de la pantalla y luego a la derecha ocupando 2/3 el detalle, así puedes ir cambiando de elemento que ves sin tener que ir pasando de una pantalla a otra.
En este caso tendrías 2 Fragments, uno con la lista y otro con el detalle, y 2 Activities, uno para móvil y otro para tablet. El del móvil carga siempre 1 único Fragment y se va reemplazando entre lista y detalle, el de la tablet carga 2 Fragments y sólo reemplaza el detalle.
De esta manera el 90% del código es igual entre móvil y tablet, y no necesitas hacer 3 Activities distintas, 2 para móvil y 1 para tablet. Así es más fácil mantener el código.
Ejemplo 2 (Sistema de navegación)
Tienes un sistema de navegación, ya sea en Tabs o en Navigation Drawer. En vez de tener que replicar el sistema en todas tus Activities, tienes 1 única Activity con los Tabs o Navigation Drawer, y vas reemplazando el contenido por el Fragment en cuestión al que quieres navegar.
Esto mismo vale en ViewPagers también.
En cualquier otro caso, apps cuyas Activities no tengan relación con ninguna otra no tienes porqué usar Fragments. Yo por ejemplo sólo uso Fragments para las pantallas que van en la parte principal de la aplicación (donde está el sistema de navegación), a partir de ahí todas las subpantallas que se van abriendo son Activities (salvo que alguna tenga un ViewPager).
Espero haberte ayudado.
Muchas Gracias, me ha quedado un poco más claro el tema. Tengo otra duda, mi aplicacion comienza con un fragment con un menu de unos 5 botones, estaría bien que por cada boton que le diese abriese en ese mismo fragment otro fragment? y de ser así como podría sustituirlo. Gracias
kriogeN
20/11/16, 12:36:13
Muchas Gracias, me ha quedado un poco más claro el tema. Tengo otra duda, mi aplicacion comienza con un fragment con un menu de unos 5 botones, estaría bien que por cada boton que le diese abriese en ese mismo fragment otro fragment? y de ser así como podría sustituirlo. Gracias
Un Fragment siempre está en una Activity, no pueden vivir por si mismos, lo único que necesitas es decirle al FragmentManager (que está en la Activity) que haga el reemplazo en el Layout que dedicas al Fragment.
Si estás declarando el Fragment como tal en el XML no podrás hacerlo (o al menos eso creo, nunca lo he probado), lo que necesitas es poner un FrameLayout en el XML y establecer el primer Fragment en el onCreate de la Activity, y a partir de ahí hacer los reemplazos.
El Fragment estático sería este:
https://developer.android.com/training/basics/fragments/creating.html
Y el dinámico sería este:
https://developer.android.com/training/basics/fragments/fragment-ui.html
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.