81
Android Adición de la barra de acción

Android 2 traducido

  • Upload
    solo

  • View
    120

  • Download
    1

Embed Size (px)

DESCRIPTION

ayuda para los de mas

Citation preview

Page 1: Android 2 traducido

Android

Adición de la barra de acción

Page 2: Android 2 traducido

La barra de acción es uno de los elementos de diseño másimportantes que usted puede implementar para las actividadesde su aplicación.

Ofrece varias características de la interfaz de usuario quehacen que su aplicación inmediatamente familiar para losusuarios, ofreciendo consistencia entre otras aplicaciones deAndroid. Las funciones clave incluyen:

Page 3: Android 2 traducido

Un espacio dedicado a dar a su aplicación de una identidad yque indica la ubicación del usuario en la aplicación.

El acceso a las acciones importantes en una forma predecible(como Buscar).

El apoyo a la navegación y la vista de conmutación (confichas o listas desplegables).

Page 4: Android 2 traducido

Configuración de la barra de acción

En su forma más básica, la barra de acción muestra el título de laactividad y el icono de la aplicación a la izquierda.

Incluso en esta forma simple, la barra de acción es útil para todas lasactividades para informar a los usuarios acerca de dónde están y paramantener una identidad coherente para su aplicación.

Page 5: Android 2 traducido

Figura 1.

Una barra de acción conel icono de la aplicación yel título de la actividad.

Page 6: Android 2 traducido

La creación de una barra de acción básica requiere que suaplicación utiliza un tema de la actividad que permite a la barrade acción.

Cómo solicitar un tema de este tipo depende de qué versión deAndroid es el más bajo con el apoyo de su aplicación.

Así que esta lección se divide en dos secciones, dependiendode qué versión de Android es su mínimo admitido.

Page 7: Android 2 traducido

Soporte para Android 3.0 y superior.

Comenzando con Android (nivel de API 11) 3.0, la barra de acción seincluye en todas las actividades que utilizan el Theme.Holo tema (ouno de sus descendientes), que es el tema por defecto cuando seaeltargetSdkVersion o minSdkVersion atributo se establece en "11 " omayor

Page 8: Android 2 traducido

Así que añadir la barra de acción para sus actividades, basta conestablecer ya sea atributo a 11 o superior.

Por ejemplo:

<Manifiesto... >

<utiliza-sdk android: minSdkVersion = "11"...

/>

...

</ manifest>

Page 9: Android 2 traducido

NOTA:

Si ha creado un tema personalizado, asegúrese de que utilizauno de los Theme.Holo temas como su padre. Para obtenermás información, consulte Aplicar estilos a la barra de acción.

Ahora el Theme.Holo tema se aplica a su aplicación y todaslas actividades muestran la barra de acción.

Page 10: Android 2 traducido

Soporte para Android 2.1y superiores.

Adición de la barra de acciones, cuando se ejecutan enversiones anteriores a Android 3.0 (frente a Android 2.1), debeincluir la biblioteca de compatibilidad de Android en suaplicación.

Page 11: Android 2 traducido

Para empezar, lea la configuración de biblioteca de soporte dedocumentos y establecer el appcompat v7biblioteca (una vezque haya descargado el paquete de biblioteca, siga lasinstrucciones para la Adición de bibliotecas con recursos).

Page 12: Android 2 traducido

Una vez que tenga la biblioteca de compatibilidad integrada con suproyecto de aplicación:

Actualizar su actividad para que se extienda ActionBarActivity . Porejemplo:

público de clase MainActivity extiende

ActionBarActivity { ... }

Page 13: Android 2 traducido

En el archivo de manifiesto, o bien actualizarel <application> elemento o individuales <activity>elementos parautilizar uno de los Theme.AppCompat temas.

Por ejemplo:

<Actividad android: tema = "@ style / Theme.AppCompat.Light" ... >

Page 14: Android 2 traducido

Nota:

Si ha creado un tema personalizado, asegúrese de que utilizauno de los Theme.AppCompat temas como su padre.

Para obtener más información, consulte Aplicar estilos a labarra de acción.

Page 15: Android 2 traducido

Ahora su actividad incluye la barra de acción cuando se ejecuta en Android 2.1 (nivel de API 7) o más.

Recuerde que debe configurar correctamente el apoyo a nivel de la API de su aplicación en el manifiesto:

Manifiesto ... > <utiliza-sdk android: minSdkVersion = "7" el androide: targetSdkVersion = "18" /> ...

</ manifest>

Page 16: Android 2 traducido

Adición de botones de acción

La barra de acción le permite añadir botones para los elementos deacción más importantes en relación con el contexto actual de laaplicación. Los que aparecen directamente en la barra de accióncon un icono y / o texto que se conoce como botones de acción.

Las acciones que no caben en la barra de acción o no son losuficientemente importantes están ocultos en el desbordamiento dela acción.

Page 17: Android 2 traducido

Figura 1.

Una barra de acción con un botón deacción para la búsqueda y eldesbordamiento de la acción, lo querevela las acciones adicionales.

Page 18: Android 2 traducido

Especificar las acciones en XML.

Todos los botones de acción y otros artículos disponibles en eldesbordamiento de acción se definen en un XMLrecurso demenú.

Para agregar acciones a la barra de acción, crear un nuevoarchivo XML en su proyecto / res / menú guía.

Page 19: Android 2 traducido

Añadir un <item> elemento de cada artículo que deseaincluir en la barra de acción. Por ejemplo:

res / menu / main_activity_actions.xml

<Menú xmlns: android = "http://schemas.android.com/apk/res/android" >

! <- Búsqueda, deberían aparecer como botón de acción

Configuración, siempre deben estar en el desbordamiento

Page 20: Android 2 traducido

Iconos de la barra de descarga de acción.

Para adaptarse mejor a los Androidiconografía directrices, debeutilizar los iconos proporcionados en la Barra de acción Icon Pack.

Esto declara que la acción de Búsqueda debe aparecer como unbotón de acción cuando la habitación está disponible en la barra deacción, pero la acción Configuración debe aparecer siempre en eldesborde.

(De manera predeterminada, todas las acciones aparecen en eldesborde, pero es una buena práctica declarar explícitamente susintenciones de diseño para cada acción.)

Page 21: Android 2 traducido

El icono de atributo requiere un identificador de recurso para una

imagen.

E l nombre que s igue @ est i rab le / debe ser e l nombrede una imagen de mapa de b i ts que haya guardado ensu proyecto / res est i rab le /d i rector io .

Por ejemplo, "@ estirable / ic_act ion_search" seref iere a ic_act ion_search.png .

As imismo, e l t í tu lo at r ibuto ut i l i za un recurso decadena que se def ine por un arch ivo XML en suproyecto / va lores res / d i rector io, como se d iscuteen La construcc ión de una inter faz de usuar io senc i l l a .

Page 22: Android 2 traducido

Nota:

Al crear iconos y otras imágenes de mapa de bits para suaplicación, es importante que usted proporciona múltiplesversiones que están cada uno optimizado para una densidadde pantalla diferente.

Esto se discute más en la lección sobre el apoyo a diferentespantallas.

Page 23: Android 2 traducido

Si su apl icac ión está ut i l i zando la b ib l ioteca

de soporte para la compat ib i l idad con

vers iones tan bajas como Andro id 2.1,

e l showAsAct ion atr ibuto no está d isponib le

en el android: espacio de nombres.

Page 24: Android 2 traducido

En lugar de este atr ibuto es proporc ionada por la

Bib l ioteca Soporte y debe def in i r su prop io

espacio de nombres XML y el uso de ese espacio

de nombres como pref i jo de atr ibuto.

Page 25: Android 2 traducido

(Un espacio de nombres XML personal izado sedebe basar en el nombre de la ap l icac ión, peropuede ser cualquier nombre que desee y sólo sepuede acceder dentro del ámbito del arch ivo enel que se declara.)

Page 26: Android 2 traducido

Por ejemplo.res / menu / ma in_ac t i v i ty_ac t ions .xml

<menu xmlns:andro id =

"h t tp : / / schemas .andro id . com/ apk/ res /andro id "

xmlns:yourapp =

"http://schemas.andro id .com/ apk/res-auto" >

<! - - Search , debe aparecer como botón de acc ión - ->

< i tem andro id : id = "@+id/ac t ion_search "

andro id : i con = "@drawab le / i c_ac t ion_search "

andro id : t i t l e = "@st r ing/ac t ion_search "

yourapp:showAsAct ion = " i fRoom" />

. . .

</menu>

Page 27: Android 2 traducido

Agregue las acciones de la barra de acción.

Para colocar los elementos de menú en la barra de acción, poner en práctica el onCreateOptionsMenu () método de devolución de llamada en su actividad para inflar el recurso de menú en el dado Menu objeto.

Page 28: Android 2 traducido

Por ejemplo

@ Over r ide

púb l i ca boo lean onCrea teOpt ionsMenu ( Menu menu ) {

/ / In f l a r l os e lementos de menú para su uso en l a

acc ión bar

MenuIn f l a te r in f l a te r = getMenuIn f l a te r ( ) ;

i n f l a te r . i n f l a te ( R . menu . ma in_ac t i v i ty_ac t ions ,

menu ) ;

re tu rn super . onCreateOpt ionsMenu ( menu ) ;

}

Page 29: Android 2 traducido

Responder a los botones de acción.

Cuando e l usuar io pulsa uno de los botones de acc ión

u otro e lemento en e l desbordamiento de la acc ión, e l

s istema l lama de su act iv idad onOpt ionsItemSelected

() método de devoluc ión de l lamada .

Page 30: Android 2 traducido

En la implementac ión de este método, l lame GetItemID () sobre la propuesta MenuItem para determinar qué e lemento se ha pulsado e l ID devuelto coinc ide con e l va lor dec larado en la correspondiente <item> del e lemento android: id atr ibuto.

Page 31: Android 2 traducido

@ Override pública boolean onOptionsItemSelected ( MenuItem elemento) {

prensas / / manipulador de la barra de acción items switch ( item . getItemId ()) {

case R . id . action_search : openSearch (); return true ;

case R . id . action_settings : openSettings (); return true ;

default : return super . onOptionsItemSelected ( item );

} }

Page 32: Android 2 traducido

Añadir el Botón de bajo nivel Actividades.

Figura 4. El Up botón en Gmail.

Todas las pantallas en su aplicación que no son la entrada principal de su aplicación (actividades que no son de la pantalla "home") deben ofrecer al usuario una forma de navegar a la pantalla de matriz lógica en la jerarquía de la aplicación pulsando el Up botón de la acción bar.

Page 33: Android 2 traducido

Cuando se ejecuta en Andro id 4.1 (n ive l de API 16) omás alta, o cuando se ut i l i za Act ionBarAct iv i ty de labib l ioteca de soporte, real izando hasta la navegac ións implemente requiere que se declara la act iv idad delos padres en el arch ivo de mani f iesto y se habi l i ta e lUp botón de la barra de acc ión.

Page 34: Android 2 traducido

Por ejemplo<Aplicación ... >

... <- La actividad principal / home (que no

tiene actividad de los padres) -> <actividad

android: nombre = "com.example.myfirstapp.MainActivity" ... >

... </ actividad> <- Un niño de la actividad principal

Actividad de Padres meta-datos para apoyar 4.0 e inferiores

así es como se puede declarar el padre de una actividad en el

manifiesto:

Page 35: Android 2 traducido

Luego que el icono de la aplicación que el Up botón llamando setDisplayHomeAsUpEnabled ():

@Override

public void onCreate ( Bundle savedInstanceState ) {

super . onCreate ( savedInstanceState );

setContentView ( R . layout . activity_displaymessage );

getSupportActionBar (). setDisplayHomeAsUpEnabled ( true

);

// Si su minSdkVersion es 11 o superior, en lugar de usar:

/ / getActionBar () setDisplayHomeAsUpEnabled (true);.

}

Page 36: Android 2 traducido

Debido a que el s istema sabe ahora MainAct iv i ty es

la act iv idad pr inc ipa l para Disp layMessageAct iv i ty ,

cuando el usuar io pu lsa e l Up botón, e l s istema se

desplaza a la act iv idad de los padres según el

caso-que nonecesi ta para manejar e l hasta e l

evento del botón.

Page 37: Android 2 traducido

El estilo de la barra de acción.

La barra de acc ión ofrece a los usuar ios una manera

fami l i a r y predec ib le para rea l i zar acc iones y navegar

por su ap l i cac ión, pero eso no qu iere dec i r que t iene

que ser exactamente la misma que lo hace en otras

ap l i cac iones .

Si qu ieres est i l i zar la barra de acc ión para a justarse

mejor a la marca de l producto, puede hacer lo fác i lmente

ut i l i zando Andro id de est i l o y tema recursos .

Page 38: Android 2 traducido

Android incluye algunos temas incorporados en actividades

que incluyen "oscuro" o "light" estilos de barra de acción.

También puede ampliar estos temas para personalizar aún

más el aspecto de la barra de acción.

Page 39: Android 2 traducido

Nota:

Si está ut i l i zando la b ib l ioteca API de Apoyo a la

barra de acc ión, entonces debe usar (o anular)

laTheme.AppCompat fami l ia de est i los (en lugar

de la Theme.Holo fami l ia, d isponib les en el n ive l

de API 11 y super ior) .

Page 40: Android 2 traducido

De es te modo, cada prop iedad de es t i l o que se dec la ra

debe ser dec la rado en dos ocas iones : una vez u t i l i zando las

prop iedades de la p la ta fo rma de es t i l o

(e l andro ide : prop iedades ) y una vez con e l es t i l o de las

prop iedades inc lu idas en la b ib l i o teca de sopor te

( los appcompat .R .a t t r p rop iedades de l con tex to para es tas

prop iedades es en rea l i dad su ap l i cac ión) .

Vea los e jemp los a con t inuac ión para obtener más deta l l es .

Page 41: Android 2 traducido

Utilice un Tema Android.

Andro id inc luye dos temas de las act iv idades in i c ia les

que determinan e l co lor de la barra de acc ión:

Theme.Ho lo para un tema de "oscuro" .

Theme.Ho lo.L ight para un tema de la " luz" .

Puede ap l i car es tos temas a la tota l idad de su ap l i cac ión

o para act iv idades ind iv idua les que dec la ró en su arch ivo

de man i f i es to con e l andro ide: tema atr ibuto para

la <app l i cat ion> elemento o

ind iv idua les <act iv i ty> e lementos .

Page 42: Android 2 traducido

Por ejemplo:

<Aplicación android: tema = "@ android: style / Theme.Holo.Light" ... />

Page 43: Android 2 traducido

También puede utilizar una barra de acción oscura, mientras que el

resto de la actividad utiliza el esquema de color de la luz por la que se

declara laTheme.Holo.Light.DarkActionBar tema.

Cuando se utiliza la biblioteca de soporte, debe utilizar en su lugar

los Theme.AppCompat temas.

Theme.AppCompat para el tema "oscuro".

Theme.AppCompat.Light para el tema de la "luz".

Theme.AppCompat.Light.DarkActionBar para el tema de la luz con una

barra de acción oscura.

Page 44: Android 2 traducido

Asegúrese de que utiliza iconos de la barra de acción que

contrastan adecuadamente con el color de tu barra de acción.

Para ayudarle, la Barra de acción Icon Pack incluye iconos de

acción estándar para el uso con la luz Holo Holo y barra de

acción oscura.

Page 45: Android 2 traducido

Personaliza el fondo.

Para cambiar el fondo barra de acción, crear un tema

personalizado para su actividad que anula

elactionBarStyle propiedad.

Esta propiedad apunta a otro estilo en el que se puede

reemplazar el fondo propiedad para especificar un recurso

estirable para el fondo de la barra de acción.

Page 46: Android 2 traducido

Para Android 3.0 y superiores.

Cuando el apoyo a Android 3.0 y superiores, se puede definir el fondo de la barra de acción de esta manera:

Page 47: Android 2 traducido

r e s / v a l o r e s / t h e m e s . x m l

< ? x m l v e r s i o n = " 1 . 0 " c o d i f i c a c i ó n = " U T F - 8 " >

< r e s o u r c e s >

< - e l t e m a a p l i c a d o a l a a p l i c a c i ó n o l a a c t i v i d a d - >

< s t y l e n o m b r e = " C u s t o m A c t i o n B a r T h e m e "

p a d r e = " @ a n d r o i d : e s t i l o / T h e m e . H o l o . L i g h t . D a r k A c t i o n B a r "

>

< n o m b r e d e e l e m e n t o = " a n d r o i d : a c t i o n B a r S t y l e " > @ e s t i l o /

M y A c t i o n B a r < / e l e m e n t o >

< / s t y l e >

! < - B a r r a d e a c c i o n e s e s t i l o s - >

< s t y l e n o m b r e = " " M y A c t i o n B a r

p a d r e = " @ a n d r o i d : s t y l e /

W i d g e t . H o l o . L i g h t . A c t i o n B a r. S o l i d . I n v e r s e " >

< n o m b r e d e e l e m e n t o = " a n d r o i d : F o n d o " > @ e s t i r a b l e /

a c t i o n b a r _ b a c k g r o u n d < / e l e m e n t o >

< / s t y l e >

< / r e s o u r c e s >

Page 48: Android 2 traducido

A continuación, aplicar el tema a toda la

aplicación o actividades individuales.

<Aplicación android: tema = "@ style / CustomActionBarTheme" ... />

Page 49: Android 2 traducido

Para Android 2.1 y superior.

Cuando se utiliza la biblioteca de soporte, el mismo tema que el anterior lugar debe tener este aspecto:

Page 50: Android 2 traducido

• r e s / v a l o r e s / t h e m e s . x m l

• < ? x m l v e r s i o n = " 1 . 0 " c o d i f i c a c i ó n = " U T F - 8 " >

< r e s o u r c e s >

< - e l t e m a a p l i c a d o a l a a p l i c a c i ó n o l a a c t i v i d a d - >

< s t y l e n o m b r e = " C u s t o m A c t i o n B a r T h e m e "

p a d r e = " @ s t y l e / T e m a . A p p C o m p a t . L i g h t . D a r k A c t i o n B a r " >

< n o m b r e d e e l e m e n t o = " a n d r o i d : a c t i o n B a r S t y l e " > @ e s t i l o / M y A c t i o n B a r < / e l e m e n t o >

! < - c o m p a t i b i l i d a d b i b l i o t e c a S o p o r t e - >

< n o m b r e d e e l e m e n t o = " a c t i o n B a r S t y l e " > @ e s t i l o / M y A c t i o n B a r < / a r t í c u l o >

< / s t y l e >

< - B a r r a d e a c c i o n e s e s t i l o s - > !

< s t y l e n o m b r e = " M y A c t i o n B a r "

p a d r e = " @ s t y l e / W i d g e t . A p p C o m p a t L i g h t . A c t i o n B a r . S o l i d . I n v e r s e . " >

< n o m b r e d e e l e m e n t o = " a n d r o i d : F o n d o " > @ e s t i r a b l e / a c t i o n b a r _ b a c k g r o u n d < /

e l e m e n t o >

< - S o p o r t e b i b l i o t e c a d e c o m p a t i b i l i d a d - >

< n o m b r e d e e l e m e n t o = " b a c k g r o u n d " > @ e s t i r a b l e / a c t i o n b a r _ b a c k g r o u n d < / e l e m e n t o >

< / s t y l e >

< / r e s o u r c e s >

Page 51: Android 2 traducido

A continuación, aplicar el tema a toda laaplicación o actividades individuales.

<Aplicación android: tema = "@ style / CustomActionBarTheme" ... />

Page 52: Android 2 traducido

Personaliza el color de texto

Para modi f i car e l co lor de l texto en la barra de acc ión, es

necesar io reemplazar las prop iedades por separado para

cada e lemento de texto:

Tí tu lo de la barra de acc ión: Crear un est i l o

persona l i zado que espec i f i ca e l textCo lor prop iedad y

espec i f i car que e l est i l o para e l T i t l eTextSty le prop iedad

en su aduana act ionBarSty le .

Page 53: Android 2 traducido

Nota

E l est i l o persona l i zado ap l i cado T i t l eTextSty le debe

ut i l i zarTextAppearance.Ho lo.Widget .Act ionBar.T i t l e co

mo e l est i l o de los padres.

Lengüetas de la barra de acc ión:

Ignorar act ionBarTabTextSty le en su tema de la

act iv idad.

Botones de acc ión: Ignorar act ionMenuTextCo lor en

su tema de la act iv idad.

Page 54: Android 2 traducido

Para Android 3.0 y superiores

Cuando el apoyo a Andro id 3.0 y super iores, e l

arch ivo XML de est i lo puede tener este aspecto:

Page 55: Android 2 traducido

res / valores / themes.xml

<? xml version = "1.0" codificación = "UTF-8" >

<resources>

<- el tema aplicado a la aplicación o la actividad ->

<style nombre = "CustomActionBarTheme"

padre = "@ style / Tema. Holo " >

< nombre de elemento = "android: actionBarStyle" > @ estilo / MyActionBar </ elemento >

< nombre de elemento = "android: actionBarTabTextStyle" > @ estilo / MyActionBarTabText </ elemento >

< nombre de elemento = "android: actionMenuTextColor" > @ colores / actionbar_text </ elemento >

</ style>

<- - Barra de acciones estilos!>

<style nombre = "MyActionBar"

padre = "@ style / Widget.Holo.ActionBar" >

< nombre del elemento = "android: TitleTextStyle" > @ estilo / MyActionBarTitleText </ elemento >

</ style>

<- Barra de acciones texto del título ->

<style nombre = "MyActionBarTitleText"

padre = "@ style / TextAppearance.Holo.Widget.ActionBar.Title" >

< nombre de elemento = "android: textColor" > @ de color / actionbar_text </ elemento >

</ style>

! <- estilos de texto pestañas Barra de acciones ->

<style nombre = "MyActionBarTabText"

padre = "@ style / Widget.Holo.ActionBar.TabText" >

< nombre de elemento = "android: textColor" > @ de color / actionbar_text </ elemento >

</ style>

</ resources>

Page 56: Android 2 traducido

Para Android 2.1 y superior .

Cuando se ut i l i za e l soporte para b ib l ioteca, e l

arch ivo XML de est i lo puede tener este aspecto:

Page 57: Android 2 traducido

res / valores / themes.xml

<? xml version = "1.0" codificación = "UTF-8" > <resources>

<- el tema aplicado a la aplicación o la actividad -> <style nombre = "CustomActionBarTheme"

padre = "@ style / Tema. AppCompat " > < nombre de elemento = "android: actionBarStyle" > @ estilo / MyActionBar </ elemento > < nombre de elemento = "android: actionBarTabTextStyle" > @ estilo / MyActionBarTabText </ elemento > < nombre de elemento = "android: actionMenuTextColor" > @ colores / actionbar_text </ elemento >

<- Soporte biblioteca de compatibilidad -> < nombre del elemento = "actionBarStyle" > @ estilo / MyActionBar </ elemento > < nombre del elemento = "actionBarTabTextStyle" > @ estilo / MyActionBarTabText </ elemento > < nombre de elemento = "actionMenuTextColor" > @ de color / actionbar_text </ elemento >

</ style>

<- Barra de acciones estilos -> <style nombre = "MyActionBar"

padre = ". @ style / Widget AppCompat . Barra de acciones " > < artículo nombre = "android: TitleTextStyle" > @ estilo / MyActionBarTitleText </ elemento >

! <- Soporte biblioteca de compatibilidad -> < nombre de elemento = "TitleTextStyle" > @ estilo / MyActionBarTitleText </ elemento >

</ style>

! <- texto de título Barra de acciones

nombre = "android: textColor" > @ de color / actionbar_text </ elemento > ! <- La propiedad textColor es compatible hacia atrás con la Biblioteca Soporte ->

</ style>

<- texto pestañas Barra de acciones ->! <style nombre = "MyActionBarTabText"

padre = "@ style / Widget. AppCompat ActionBar.TabText. " > < nombre de elemento = "android: textColor" > @ de color / actionbar_text </ elemento > ! <- La propiedad textColor es compatible hacia atrás con el Soporte Biblioteca ->

</ style> </ resources>

Page 58: Android 2 traducido

Personalizar el indicador Tab.

Para cambiar e l ind i cador que se ut i l i za para las f i chas

de navegac ión, crear un tema de act iv idad que anu la

e l act ionBarTabSty le prop iedad. Esta prop iedad apunta

a otro recurso de est i l o en e l que se reemplaza

e l fondo prop iedad que debe espec i f i car un estado de

la l i s ta est i rab le .

Page 59: Android 2 traducido

Nota.

Un estado- l i s t d ibujab le es importante para que la

f i cha se lecc ionada actua lmente ind i ca su estado con

un fondo d i ferente a las otras f i chas . Para obtener

más in formac ión acerca de cómo crear un recurso

est i rab le que maneja var ios estados de l botón, lea

la L i s ta Estata l documentac ión .

Page 60: Android 2 traducido

Nota.

Un estado- l i s t d ibujab le es importante para que la f i cha

se lecc ionada actua lmente ind i ca su estado con un fondo

d i ferente a las otras f i chas . Para obtener más

in formac ión acerca de cómo crear un recurso est i rab le

que maneja var ios estados de l botón, lea la L i s ta

Estata l documentac ión .

Page 61: Android 2 traducido

Por ejemplo, aquí hay un dibujable estado l ista

que dec lara una imagen especí f ica de fondo para

var ios estados di ferentes de una f icha de la barra

de acc ión:

Page 62: Android 2 traducido

r e s / e s t i r a b l e / a c t i o n b a r _ t a b _ i n d i c a t o r. x m l

< ? x m l

U N I D O S C U A N D O b o t ó n e s t á s i n p u l s a r - >

< - ! E s t a d o s n o f o c a l i z a d o s

E s t a d o s F o c u s e d ( c o m o c u a n d o s e e n f o c a c o n u n d - p a d o e l c u r s o r d e l

m o u s e )

U n i d o s c u a n d o s e p r e s i o n a e l b o t ó n - >

< - ! E s t a d o s n o f o c a l i z a d o s

E s t a d o s F o c u s e d ( c o m o c u a n d o s e e n f o c a c o n u n d - p a d o el cursor del mouse)

Page 63: Android 2 traducido

Para Android 3.0 y superiores

Cuando e l apoyo a Andro id 3.0 y super iores , e l arch ivo

XML de est i l o puede tener este aspecto:

Page 64: Android 2 traducido

r e s / v a l o r e s / t h e m e s . x m l

< ? x m l v e r s i o n = " 1 . 0 " c o d i f i c a c i ó n = " U T F - 8 " >

< r e s o u r c e s >

< - e l t e m a a p l i c a d o a l a a p l i c a c i ó n o l a a c t i v i d a d - >

< s t y l e n o m b r e = " C u s t o m A c t i o n B a r T h e m e "

p a d r e = " @ s t y l e / Te m a . H o l o " >

< n o m b r e d e e l e m e n t o = " a n d r o i d : a c t i o n B a r Ta b S t y l e " > @ e s t i l o /

M y A c t i o n B a r Ta b s < / e l e m e n t o >

< / s t y l e >

< - Ta b s a c t i o n b a r e s t i l o s - > !

< s t y l e n o m b r e = " M y A c t i o n B a r Ta b s "

p a d r e = " @ s t y l e / W i d g e t . H o l o . A c t i o n B a r. Ta b V i e w " >

< - i n d i c a d o r d e t a b u l a c i ó n - >

< n o m b r e d e e l e m e n t o = " a n d r o i d : F o n d o " > @ e s t i r a b l e /

a c t i o n b a r _ t a b _ i n d i c a t o r < / e l e m e n t o >

< / s t y l e >

< / r e s o u r c e s >

Page 65: Android 2 traducido

Para Android 2.1 y superior.

Cuando se ut i l i za e l soporte para bib l ioteca, e l

arch ivo XML de est i lo puede tener este aspecto:

Page 66: Android 2 traducido

r e s / v a l o r e s / t h e m e s . x m l

< ? x m l v e r s i o n = " 1 . 0 " c o d i f i c a c i ó n = " U T F - 8 " >

< r e s o u r c e s >

< - e l t e m a a p l i c a d o a l a a p l i c a c i ó n o l a a c t i v i d a d - >

< s t y l e n o m b r e = " C u s t o m A c t i o n B a r T h e m e "

p a d r e = " @ s t y l e / T e m a . A p p C o m p a t " >

< n o m b r e d e e l e m e n t o = " a n d r o i d : a c t i o n B a r T a b S t y l e " > @ e s t i l o / M y A c t i o n B a r T a b s

< / e l e m e n t o >

! < - c o m p a t i b i l i d a d b i b l i o t e c a S o p o r t e - >

< n o m b r e d e e l e m e n t o = " a c t i o n B a r T a b S t y l e " > @ e s t i l o / M y A c t i o n B a r T a b s < /

e l e m e n t o >

< / s t y l e >

! < - t a b s a c t i o n b a r e s t i l o s - >

< s t y l e n a m e = " M y A c t i o n B a r T a b s "

p a d r e = " / @ W i d g e t e s t i l o . A p p C o m p a t A c t i o n B a r . T a b V i e w . " >

< - i n d i c a d o r d e t a b u l a c i ó n - >

< n o m b r e d e e l e m e n t o = " a n d r o i d : F o n d o " > @ e s t i r a b l e / a c t i o n b a r _ t a b _ i n d i c a t o r

< / e l e m e n t o >

< - S o p o r t e b i b l i o t e c a d e c o m p a t i b i l i d a d - >

< n o m b r e d e e l e m e n t o = " b a c k g r o u n d " > @ e s t i r a b l e / a c t i o n b a r _ t a b _ i n d i c a t o r < /

e l e m e n t o >

< / s t y l e >

< / r e s o u r c e s >

Page 67: Android 2 traducido

La superposición de la barra de acción.

Por de fec to, l a bar ra de acc ión aparece en la par te

super io r de la ventana de su act i v i dad , reduc iendo

l ige ramente la can t idad de espac io d i spon ib l e para e l res to

de la d i spos i c ión de su ac t i v idad . S i duran te e l cu rso de la

in te racc ión de l usuar io , que desea ocu l ta r y most ra r l a

bar ra de acc iones , puede hacer lo l l amando h ide ( ) y ( )

mues t ran en la Bar ra de acc iones .S in embargo, es to hace

que su ac t i v idad para vo lver a ca l cu la r y vo lver a d ibu ja r

e l d i seño basado en su nuevo tamaño.

Page 68: Android 2 traducido

Figura 1

Ba r ra de ac c i ones de l a

ga l e r í a en e l modo de

supe rpos i c i ón .

Page 69: Android 2 traducido

Para ev i ta r camb ia r e l tamaño de su d i seño cuando las p ie les

bar ra de acc iones y programas , puede act i va r e l modo de

superpos i c ión de la bar ra de acc ión . Cuando es tá en modo de

superpos i c ión , e l d i seño ac t i v idad ut i l i za todo e l espac io

d i spon ib l e , como s i l a bar ra de acc ión no está ah í y e l

s i s tema l l ama la bar ra de acc ión f ren te a su d i spos i c ión .

Es to oscurece a lgunas de la d i spos i c ión en la par te super io r,

pero ahora , cuando la bar ra de acc ión ocu l ta r o aparece , e l

s i s tema no t iene que camb ia r e l tamaño de su d i seño y la

t rans i c ión es per fec ta .

Page 70: Android 2 traducido

Consejo.

Si desea que su diseño sea parcialmente visible detrás de la

barra de acción, crear un estilo personalizado para la barra de

acción con un fondo parcialmente transparente, como la que se

muestra en la figura 1 Para obtener información sobre cómo

definir el fondo de la barra de acción, leer Styling la barra de

acción .

Page 71: Android 2 traducido

Activar el modo de superposición.

Para act ivar e l modo de superpos ic ión de la barra

de acc ión, es necesar io crear un tema

personal izado que se ext iende un tema barra de

acc ión existente y establecer e l andro id:

windowAct ionBarOver lay propiedad ala verdadera .

Page 72: Android 2 traducido

Para Android 3.0 y superiores

Si su minSdkVers ion se estab lece en 11 o mayor, su

tema personal izado debe ut i l izar Theme.Holo tema

(o uno de sus descendientes) como su tema

pr inc ipal .

Page 73: Android 2 traducido

< r e s o u r c e s >

< - e l t e m a a p l i c a d o a l a a p l i c a c i ó n o l a a c t i v i d a d - >

< s t y l e n o m b r e = " C u s t o m A c t i o n B a r T h e m e "

p a d r e = " @ a n d r o i d : s t y l e / T h e m e . H o l o " >

< n o m b r e d e e l e m e n t o = " a n d r o i d :

w i n d o w A c t i o n B a r O v e r l a y " > v e r d a d e r o < / e l e m e n t o >

< / s t y l e >

< / r e s o u r c e s >

Page 74: Android 2 traducido

Para Android 2.1 y superior

S i s u a p l i c a c i ó n e s t á u t i l i z a n d o l a b i b l i o t e c a d e s o p o r t e p a r a

l a c o m p a t i b i l i d a d d e l o s d i s p o s i t i v o s q u e e j e c u t a n v e r s i o n e s

a n t e r i o r e s a l a 3 . 0 d e A n d r o i d , e l t e m a p e r s o n a l i z a d o d e b e

u t i l i z a r T h e m e . A p p C o m p a t t e m a ( o u n o d e s u s

d e s c e n d i e n t e s ) c o m o s u t e m a p r i n c i p a l . Po r e j e m p l o :

Page 75: Android 2 traducido

Por ejemplo.

<resou r ce s>

<- e l t ema ap l i c ado a l a ap l i c a c i ón o l a a c t i v i dad ->

<s ty l e nombre = "Cus t omAc t i onBa rTheme "

pad re = "@ and ro i d : . e s t i l o / Tema AppCompat " >

< nombre de e l emen to = " and ro i d :

w i ndowAc t i onBa rOve r l ay " > ve rdade ro < / e l emen to >

< - ! c ompa t i b i l i d ad b i b l i o t e ca Sopo r t e ->

< nombre de e l emen to = " w i ndowAc t i onBa rOve r l ay " >

ve rdade ro < / e l emen to >

< / s t y l e>

< / r e sou r ce s>

Page 76: Android 2 traducido

Observe también que este tema inc luye dos

def in ic iones para la windowAct ionBarOver lay est i lo:

una con elandroide: pref i jo y otra s in el la .

E l que t iene e l andro id: pref i jo es para las

vers iones de Andro id que inc luyen el est i lo en la

plataforma y el uno s in e l pref i jo es para las

vers iones anter iores que leen el est i lo de la

Bib l ioteca de Soporte.

Page 77: Android 2 traducido

Especifique Layout con mejor margen.

C u a n d o l a b a r r a d e a c c i ó n e s t á e n e l m o d o d e s u p e r p o s i c i ó n ,

p u e d e o s c u r e c e r u n p o c o d e s u d i s e ñ o q u e d e b e p e r m a n e c e r

v i s i b l e . P a r a a s e g u r a r s e d e q u e t a l e s a r t í c u l o s s e m a n t i e n e n

p o r d e b a j o d e l a b a r r a d e a c c i ó n e n t o d o m o m e n t o , y a s e a

a g r e g a r m a r g e n o r e l l e n o p a r a l a p a r t e s u p e r i o r d e l a v i s t a

( s ) c o n l a a l t u r a e s p e c i f i c a d a p o r a c t i o n B a r S i z e

Page 78: Android 2 traducido

Por ejemplo.

<Relat iveLayout xmlns:android =

"http://schemas.android.com/apk/res/android"

android: layout_width = "match_parent"

android: layout_height = "match_parent"

android:paddingTop =

"?android:attr /act ionBarSize" >

. . .

</Relat iveLayout>

Page 79: Android 2 traducido

Si estás ut i l i zando la b ib l ioteca de compat ib i l idad

de la barra de acc ión, es necesar io e l iminar

el android:pref i jo.

Page 80: Android 2 traducido

Por ejemplo.

<- Compatibilidad biblioteca Apoyo -->

<RelativeLayout xmlns:android =

"http://schemas.android.com/apk/res/android"

android:layout_width = "match_parent"

android:layout_height = "match_parent"

android:paddingTop = "?attr/actionBarSize" >

...

</RelativeLayout>

Page 81: Android 2 traducido

En este caso, el ? attr / actionBarSize valor sin el prefijo

funciona en todas las versiones, incluyendo androide 3,0 y

superior.