6.8.2.-
Programación en Android – Puntuaciones II –
(TabHost)
En este capítulo continuamos
con nuestra ActividadPuntuaciones,
y vamos a escribir el código necesario para que se muestren
las pestañas. Para ello inicializaremos un control TabHost y
le añadiremos dos pestañas.
Configurando el control
TabHost
El
control TabHost
debe ser inicializado para que funciones correctamente, para ello
obtendremos obteniendo la referencia del control y después
llamaremos al método setup()
para inicializar el mismo:
TabHost
tabHost = (TabHost)
findViewById(R.id.tabhost);
tabHost.setup();
//Se inicializa
el tabhost
|
Una
vez inicializado tenemos que configurar las pestañas y
añadirlas. Para configurarlas utilizaremos
el constructor TabSpec(),
que nos permitirá configurar la pestaña, sus opciones
pueden ser las siguientes:
Opciones
de TabHost.TabSpec:
Es
un constructor para ayudar a elegir entre las opciones para crear
una pestaña:
-Indicador
de pestaña (SetIndicator) Elecciones
posibles:
1.Poner
una etiqueta (label)
2.Poner una etiqueta y un icono.
-Contenido
(SetContent). Elecciones posibles:
1.El
ID de una vista (view)
2.Un
TabHost.TabContentFactory que crea el contenido de la vista.
3.Un
intent que lanza una actividad.
-Etiqueta
(Tag). Usada para seguir su pista (acceder a él).
|
Añadiremos
el siguiente código para configurar la primera de nuestras
pestañas:
Resources
res = getResources(); //Objeto resources para acceder a los
mismos.
//Creamos
una pestaña con su titulo.
//Su
referencia tagSpec será "Locales"
TabSpec
pestañaLocales = tabHost.newTabSpec("Locales");
//Cargamos
el texto y le asignamos un drawable,
//
aunque podíamos asignar sólo el texto, o una vista.
pestañaLocales.setIndicator(
res.getString(R.string.strPuntuacionesLocales),
res.getDrawable(android.R.drawable.star_on));
//El
contenido de esta pestaña se asigna
//
a este scrollview mediante setContent:
pestañaLocales.setContent(R.id.scrollView_PuntuacionesLocales);
|
Cuando
hallamos terminado de configurarla, la añadimos con el método
addTab():
//Añadimos
la pestaña que acabamos de configurar.
tabHost.addTab(pestañaLocales);
|
Ahora
repetimos los pasos para la otra pestaña:
//Creamos
una pestaña con su titulo.
//Su
referencia tag Spec será "Globales"
TabSpec
pestañaGlobales = tabHost.newTabSpec("Globales");
//Cargamos
el texto y le asignamos un drawable,
//
aunque podíamos asignar sólo el texto, o una vista.
pestañaGlobales.setIndicator(
res.getString(R.string.strPuntuacionesGlobales),
res.getDrawable(android.R.drawable.star_big_on));
//El
contenido de esta pestaña se asigna
//
a este scrollview mediante setContent:
pestañaGlobales.setContent(R.id.scrollView_PuntuacionesGlobales);
//Añadimos
la pestaña que acabamos de configurar.
tabHost.addTab(pestañaGlobales);
|
Ahora
que tenemos mostradas las pestañas vamos a configurar cuál
se mostrará por defecto, para ello podemos utilizar dos
métodos de TabHost: setCurrentTab (int índice)
o setCurrentTabByTag (string Referencia).
La diferencia está en que el primero utiliza un número
entero que será el número de pestaña, comenzando
en 0, y el segundo método utiliza la referencia que se añadió
al crear el TabSpec
correspondiente (“Locales” o “Globales”):
tabHost.setCurrentTab(0);//Se
indica mediante un índice (0 a n)
|
tabHost.setCurrentTabByTag("Locales");//Se
indica con un String
|
Podemos
elegir cualquiera de los dos métodos. A partir de aquí
ya podemos ejecutar nuestra aplicación y ver como se muestran
las dos pestañas, con su nombre y un bitmap, etc.
En
el siguiente capítulo rellenaremos los datos para las
puntuaciones a partir de los ficheros XML.
Ver.
1.0 – Revisión 16/03/2012
No hay comentarios:
Publicar un comentario