SlideShare una empresa de Scribd logo
1 de 81
Android
Adición de la barra de acción
La barra de acción es uno de los elementos de diseño más
importantes que usted puede implementar para las actividades
de su aplicación.
Ofrece varias características de la interfaz de usuario que
hacen que su aplicación inmediatamente familiar para los
usuarios, ofreciendo consistencia entre otras aplicaciones de
Android. Las funciones clave incluyen:
Un espacio dedicado a dar a su aplicación de una identidad y
que 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 (con
fichas o listas desplegables).
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 la
actividad y el icono de la aplicación a la izquierda.
Incluso en esta forma simple, la barra de acción es útil para todas las
actividades para informar a los usuarios acerca de dónde están y para
mantener una identidad coherente para su aplicación.
Figura 1.
Una barra de acción con
el icono de la aplicación y
el título de la actividad.
La creación de una barra de acción básica requiere que su
aplicación utiliza un tema de la actividad que permite a la barra
de acción.
Cómo solicitar un tema de este tipo depende de qué versión de
Android es el más bajo con el apoyo de su aplicación.
Así que esta lección se divide en dos secciones, dependiendo
de qué versión de Android es su mínimo admitido.
Soporte para Android 3.0 y superior.
Comenzando con Android (nivel de API 11) 3.0, la barra de acción se
incluye en todas las actividades que utilizan el Theme.Holo tema (o
uno de sus descendientes), que es el tema por defecto cuando sea
eltargetSdkVersion o minSdkVersion atributo se establece en "11 " o
mayor
Así que añadir la barra de acción para sus actividades, basta con
establecer ya sea atributo a 11 o superior.
Por ejemplo:
<Manifiesto... >
<utiliza-sdk android: minSdkVersion = "11"...
/>
...
</ manifest>
NOTA:
Si ha creado un tema personalizado, asegúrese de que utiliza
uno de los Theme.Holo temas como su padre. Para obtener
más información, consulte Aplicar estilos a la barra de acción.
Ahora el Theme.Holo tema se aplica a su aplicación y todas
las actividades muestran la barra de acción.
Soporte para Android 2.1
y superiores.
Adición de la barra de acciones, cuando se ejecutan en
versiones anteriores a Android 3.0 (frente a Android 2.1), debe
incluir la biblioteca de compatibilidad de Android en su
aplicación.
Para empezar, lea la configuración de biblioteca de soporte de
documentos y establecer el appcompat v7biblioteca (una vez
que haya descargado el paquete de biblioteca, siga las
instrucciones para la Adición de bibliotecas con recursos).
Una vez que tenga la biblioteca de compatibilidad integrada con su
proyecto de aplicación:
Actualizar su actividad para que se extienda ActionBarActivity . Por
ejemplo:
público de clase MainActivity extiende
ActionBarActivity { ... }
En el archivo de manifiesto, o bien actualizar
el <application> elemento o individuales <activity>elementos para
utilizar uno de los Theme.AppCompat temas.
Por ejemplo:
<Actividad android: tema = "@ style / Theme.AppCompat.Light" ... >
Nota:
Si ha creado un tema personalizado, asegúrese de que utiliza
uno de los Theme.AppCompat temas como su padre.
Para obtener más información, consulte Aplicar estilos a la
barra de acción.
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>
Adición de botones de acción
La barra de acción le permite añadir botones para los elementos de
acción más importantes en relación con el contexto actual de la
aplicación. Los que aparecen directamente en la barra de acción
con 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 lo
suficientemente importantes están ocultos en el desbordamiento de
la acción.
Figura 1.
Una barra de acción con un botón de
acción para la búsqueda y el
desbordamiento de la acción, lo que
revela las acciones adicionales.
Especificar las acciones en XML.
Todos los botones de acción y otros artículos disponibles en el
desbordamiento de acción se definen en un XMLrecurso de
menú.
Para agregar acciones a la barra de acción, crear un nuevo
archivo XML en su proyecto / res / menú guía.
Añadir un <item> elemento de cada artículo que desea
incluir 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
Iconos de la barra de descarga
de acción.
Para adaptarse mejor a los Androidiconografía directrices, debe
utilizar los iconos proporcionados en la Barra de acción Icon Pack.
Esto declara que la acción de Búsqueda debe aparecer como un
botón de acción cuando la habitación está disponible en la barra de
acción, pero la acción Configuración debe aparecer siempre en el
desborde.
(De manera predeterminada, todas las acciones aparecen en el
desborde, pero es una buena práctica declarar explícitamente sus
intenciones de diseño para cada acción.)
El icono de atributo requiere un
identificador de recurso para una
imagen.
El nombre que sigue @ estirable / debe ser el nombre
de una imagen de mapa de bits que haya guardado en
su proyecto / res estirable /directorio.
Por ejemplo, "@ estirable / ic_action_search " se
refiere a ic_action_search.png .
Asimismo, el título atributo utiliza un recurso de
cadena que se define por un archivo XML en su
proyecto / valores res / directorio, como se discute
en La construcción de una interfaz de usuario sencilla.
Nota:
Al crear iconos y otras imágenes de mapa de bits para su
aplicación, es importante que usted proporciona múltiples
versiones que están cada uno optimizado para una densidad
de pantalla diferente.
Esto se discute más en la lección sobre el apoyo a diferentes
pantallas.
Si su aplicación está utilizando la biblioteca
de soporte para la compatibilidad con
versiones tan bajas como Android 2.1,
el showAsAction atributo no está disponible
en el android: espacio de nombres.
En lugar de este atributo es proporcionada por la
Biblioteca Soporte y debe definir su propio
espacio de nombres XML y el uso de ese espacio
de nombres como prefijo de atributo.
(Un espacio de nombres XML personalizado se
debe basar en el nombre de la aplicación, pero
puede ser cualquier nombre que desee y sólo se
puede acceder dentro del ámbito del archivo en
el que se declara.)
Por ejemplo.
res / menu / main_activity_actions.xml
< menu xmlns:android =
"http://schemas.android.com/ apk /res/android"
xm lns:youra pp =
"http://schema s.a ndroid.com/ a pk/res -a uto" >
< ! - - Search, debe aparecer como botón de acción - - >
< item android:id = " @+ id/ action_search "
android:icon = " @ drawable / ic_action_search "
android:title = " @string/ action_search "
yourapp:showAsAction = " if Room " />
. . .
< / menu >
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.
Por ejemplo
@ Override
pública boolean onC reateOptionsMenu ( Menu menu ) {
/ / Inflar los elementos de menú para su uso en la
acción bar
MenuInflater inflater = getMenuInflater ( ) ;
inflater . in f lat e ( R . menu . main_activity_actions ,
menu ) ;
return super . onCreateOptionsMenu ( menu ) ;
}
Responder a los botones de
acción.
Cuando el usuario pulsa uno de los botones de acción
u otro elemento en el desbordamiento de la acción, el
sistema llama de su actividad onOptionsItemSelected
() método de devolución de llamada .
En la implementación de este método,
llame GetItemID () sobre la
propuesta MenuItem para determinar qué
elemento se ha pulsado el ID devuelto coincide
con el valor declarado en la
correspondiente <item> del elemento android:
id atributo.
@ 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 );
}
}
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.
Cuando se ejecuta en Android 4.1 (nivel de API 16) o
más alta, o cuando se utiliza ActionBarActivity de la
biblioteca de soporte, realizando hasta la navegación
simplemente requiere que se declara la actividad de
los padres en el archivo de manifiesto y se habilita el
Up botón de la barra de acción.
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:
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);.
}
Debido a que el sistema sabe ahora MainActivity es
la actividad principal para DisplayMessageActivity ,
cuando el usuario pulsa el Up botón, el sistema se
desplaza a la actividad de los padres según el
caso-que nonecesita para manejar el hasta el
evento del botón.
El estilo de la barra de acción.
La barra de acción ofrece a los usuarios una manera
familiar y predecible para realizar acciones y navegar
por su aplicación, pero eso no quiere decir que tiene
que ser exactamente la misma que lo hace en otras
aplicaciones.
Si quieres estilizar la barra de acción para ajustarse
mejor a la marca del producto, puede hacerlo fácilmente
utilizando Android de estilo y tema recursos.
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.
Nota:
Si está utilizando la biblioteca API de Apoyo a la
barra de acción, entonces debe usar (o anular)
laTheme.AppCompat familia de estilos (en lugar
de la Theme.Holo familia, disponibles en el nivel
de API 11 y superior).
D e este modo, cada propiedad de estilo que se declara
debe ser declarado en dos ocasiones : una vez u t iliz an do las
propieda des de la plataforma de estilo
(el androide : propiedades ) y una vez con el estilo de las
propieda des incluidas en la bib l ioteca de soporte
(los appcompat . R.attr propiedades del contexto para estas
propiedades es en realidad su aplicación) .
Vea los ejemplos a con t in u ación para obtener más detalles .
Utilice un Tema Android.
Android incluye dos temas de las actividades iniciales
que determinan el color de la barra de acción:
Theme.Holo para un tema de "oscuro".
Theme.Holo.Light para un tema de la "luz".
Puede aplicar estos temas a la totalidad de su aplicación
o para actividades individuales que declaró en su archivo
de manifiesto con el androide: tema atributo para
la <application> elemento o
individuales <activity> elementos.
Por ejemplo:
<Aplicación android: tema = "@ android: style /
Theme.Holo.Light" ... />
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.
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.
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.
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:
 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 >
A continuación, aplicar el tema a toda la
aplicación o actividades individuales.
<Aplicación android: tema = "@ style / CustomActionBarTheme"
... />
Para Android 2.1 y superior.
Cuando se utiliza la biblioteca de soporte, el mismo tema que el
anterior lugar debe tener este aspecto:
• 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 >
A continuación, aplicar el tema a toda la
aplicación o actividades individuales.
<Aplicación android: tema = "@ style /
CustomActionBarTheme" ... />
Personaliza el color de texto
Para modificar el color del texto en la barra de acción, es
necesario reemplazar las propiedades por separado para
cada elemento de texto:
Título de la barra de acción: Crear un estilo
personalizado que especifica el textColor propiedad y
especificar que el estilo para el TitleTextStyle propiedad
en su aduana actionBarStyle.
Nota
El estilo personalizado aplicado TitleTextStyle debe
utilizarTextAppearance.Holo.Widget.ActionBar.Title co
mo el estilo de los padres.
Lengüetas de la barra de acción:
Ignorar actionBarTabTextStyle en su tema de la
actividad.
Botones de acción: Ignorar actionMenuTextColor en
su tema de la actividad.
Para Android 3.0 y superiores
Cuando el apoyo a Android 3.0 y superiores, el
archivo XML de estilo puede tener este aspecto:
 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>
Para Android 2.1 y superior.
Cuando se utiliza el soporte para biblioteca, el
archivo XML de estilo puede tener este aspecto:
 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>
Personalizar el indicador Tab.
Para cambiar el indicador que se utiliza para las fichas
de navegación, crear un tema de actividad que anula
el actionBarTabStyle propiedad. Esta propiedad apunta
a otro recurso de estilo en el que se reemplaza
el fondo propiedad que debe especificar un estado de
la lista estirable.
Nota.
Un estado-list dibujable es importante para que la
ficha seleccionada actualmente indica su estado con
un fondo diferente a las otras fichas. Para obtener
más información acerca de cómo crear un recurso
estirable que maneja varios estados del botón, lea
la Lista Estatal documentación .
Nota.
Un estado-list dibujable es importante para que la ficha
seleccionada actualmente indica su estado con un fondo
diferente a las otras fichas. Para obtener más
información acerca de cómo crear un recurso estirable
que maneja varios estados del botón, lea la Lista
Estatal documentación .
Por ejemplo, aquí hay un dibujable estado lista
que declara una imagen específica de fondo para
varios estados diferentes de una ficha de la barra
de acción:
 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)
Para Android 3.0 y superiores
Cuando el apoyo a Android 3.0 y superiores, el archivo
XML de estilo puede tener este aspecto:
 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 >
Para Android 2.1 y superior.
Cuando se utiliza el soporte para biblioteca, el
archivo XML de estilo puede tener este aspecto:
 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 >
La superposición de la barra de
acción.
Por defecto, la barra de acción aparece en la parte
superior de la ventana de su activi dad, reduciendo
l igerame nte la cantidad de espacio disponib l e para el resto
de la disposición de su activ idad . Si durante el curso de la
interacción del usuario, qu e desea ocultar y mostrar la
barra de acciones, puede hacerlo llamand o hide () y ( )
muestran en la Barra de acciones .Sin embargo, esto hace
que su actividad para volver a calcular y volver a dibujar
el diseño basado en su nuevo tamaño.
Figura 1
B a r ra d e a c c i o n e s d e l a
g a l e r í a e n e l m o d o d e
s u p e r p o s i c i ó n .
Para evitar cambiar el tamaño de su diseño cuando las piele s
barra de acciones y programas, puede activar el modo de
superposición de la barra de acción. Cuando está en modo d e
superposición, el diseño actividad utiliz a todo el espaci o
disponib l e, como si la barra de acción no está ah í y el
sistema llama la barra de acción frente a su disposición .
E sto oscurece algunas de la disposición en la parte su perior,
pero ahora, cu ando la barra de acción ocultar o aparece, el
sistema n o tiene que cambiar el tamaño de su diseño y la
transición es perfecta .
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 .
Activar el modo de
superposición.
Para activar el modo de superposición de la barra
de acción, es necesario crear un tema
personalizado que se extiende un tema barra de
acción existente y establecer el android:
windowActionBarOverlay propiedad ala verdadera .
Para Android 3.0 y superiores
Si su minSdkVersion se establece en 11 o mayor, su
tema personalizado debe utilizar Theme.Holo tema
(o uno de sus descendientes) como su tema
principal.
<resources>
<- el tema aplicado a la aplicación o la actividad ->
<style nombre = "CustomActionBarTheme"
padre = "@ android: style / Theme.Holo" >
< nombre de elemento = "android:
windowActionBarOverlay" > verdadero < / elemento >
</ style>
</ resources>
Para Android 2.1 y superior
Si su aplicación está utilizando la biblioteca de soporte para
la compatibilidad de los dispositivos que ejecutan versiones
anteriores a la 3.0 de Android, el tema personalizado debe
utilizar Theme.AppCompat tema (o uno de sus
descendientes) como su tema principal. Por ejemplo:
Por ejemplo.
< 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 / Te 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 :
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 >
< - ! 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 = " w i n d o w A c t i o n B a r O v e r l ay " >
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 >
Observe también que este tema incluye dos
definiciones para la windowActionBarOverlay estilo:
una con elandroide: prefijo y otra sin ella.
El que tiene el android: prefijo es para las
versiones de Android que incluyen el estilo en la
plataforma y el uno sin el prefijo es para las
versiones anteriores que leen el estilo de la
Biblioteca de Soporte.
Especifique Layout con mejor
margen.
Cuando la barra de acción está en el modo de superposición,
puede oscurecer un poco de su diseño que debe permanecer
visible. Para asegurarse de que tales artículos se mantienen
por debajo de la barra de acción en todo momento, ya sea
agregar margen o relleno para la parte superior de la vista
(s) con la altura especificada por actionBarSize
Por ejemplo.
<RelativeLayout xmlns:android =
"http://schemas.android.com/ apk/res/android"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:paddingTop =
"?android:attr/actionBarSize" >
...
</RelativeLayout>
Si estás utilizando la biblioteca de compatibilidad
de la barra de acción, es necesario eliminar
el android:prefijo.
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>
En este caso, el ? attr / actionBarSize valor sin el prefijo
funciona en todas las versiones, incluyendo androide 3,0 y
superior.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (11)

Consejos principales para Android UI Cómo alcanzar la magia en los tablets
Consejos principales para Android UI Cómo alcanzar la magia en los tabletsConsejos principales para Android UI Cómo alcanzar la magia en los tablets
Consejos principales para Android UI Cómo alcanzar la magia en los tablets
 
curso android tema 3
curso android tema 3curso android tema 3
curso android tema 3
 
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android  - 4 - arquitectura de aplicaciónDesarrollo android  - 4 - arquitectura de aplicación
Desarrollo android - 4 - arquitectura de aplicación
 
Instrucciones y estructuras
Instrucciones y estructurasInstrucciones y estructuras
Instrucciones y estructuras
 
tutorial de eclipse
tutorial de eclipsetutorial de eclipse
tutorial de eclipse
 
Menus
MenusMenus
Menus
 
UDA-Herramientas para contenido estático
UDA-Herramientas para contenido estáticoUDA-Herramientas para contenido estático
UDA-Herramientas para contenido estático
 
manual visual_studio_2010_
manual visual_studio_2010_manual visual_studio_2010_
manual visual_studio_2010_
 
Apuntes builder
Apuntes builderApuntes builder
Apuntes builder
 
visual basic
visual basicvisual basic
visual basic
 
Actividad 11
Actividad 11Actividad 11
Actividad 11
 

Similar a Agregar barra de acción Android

Curso de Android 4.x Unidad 03 Hola Mundo
Curso de Android 4.x Unidad 03 Hola MundoCurso de Android 4.x Unidad 03 Hola Mundo
Curso de Android 4.x Unidad 03 Hola MundoDavid Vaquero
 
Como insertar una imagen en eclipse java
Como insertar una imagen en eclipse javaComo insertar una imagen en eclipse java
Como insertar una imagen en eclipse javaJosué Naquid
 
Como insertar una imagen en eclipse
Como insertar una imagen en eclipseComo insertar una imagen en eclipse
Como insertar una imagen en eclipsejaquiiMc
 
Que es visual basic
Que es visual basicQue es visual basic
Que es visual basicJeansAcosta
 
Investigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipseInvestigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipseLucero De La Cruz
 
Investigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipseInvestigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipseLucero De La Cruz
 
Estructura general de una app
Estructura general de una app Estructura general de una app
Estructura general de una app Angel Ayala
 
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...leofishman
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"Alberto Ruibal
 

Similar a Agregar barra de acción Android (20)

Curso de Android 4.x Unidad 03 Hola Mundo
Curso de Android 4.x Unidad 03 Hola MundoCurso de Android 4.x Unidad 03 Hola Mundo
Curso de Android 4.x Unidad 03 Hola Mundo
 
Como insertar una imagen en eclipse java
Como insertar una imagen en eclipse javaComo insertar una imagen en eclipse java
Como insertar una imagen en eclipse java
 
Actividad 11
Actividad 11Actividad 11
Actividad 11
 
Como insertar una imagen en eclipse
Como insertar una imagen en eclipseComo insertar una imagen en eclipse
Como insertar una imagen en eclipse
 
VERUSKA SALA
VERUSKA SALAVERUSKA SALA
VERUSKA SALA
 
Roxana
RoxanaRoxana
Roxana
 
Manual android
Manual androidManual android
Manual android
 
Act.11
Act.11Act.11
Act.11
 
Que es visual basic
Que es visual basicQue es visual basic
Que es visual basic
 
Visualbasic6.0
Visualbasic6.0Visualbasic6.0
Visualbasic6.0
 
Investigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipseInvestigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipse
 
Investigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipseInvestigacion para agregar una imagen a eclipse
Investigacion para agregar una imagen a eclipse
 
Android
AndroidAndroid
Android
 
Materiaeloy
MateriaeloyMateriaeloy
Materiaeloy
 
Actividad 11
Actividad 11Actividad 11
Actividad 11
 
Actividad 11
Actividad 11Actividad 11
Actividad 11
 
Actividad 11
Actividad 11Actividad 11
Actividad 11
 
Estructura general de una app
Estructura general de una app Estructura general de una app
Estructura general de una app
 
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"
 

Agregar barra de acción Android

  • 1. Android Adición de la barra de acción
  • 2. La barra de acción es uno de los elementos de diseño más importantes que usted puede implementar para las actividades de su aplicación. Ofrece varias características de la interfaz de usuario que hacen que su aplicación inmediatamente familiar para los usuarios, ofreciendo consistencia entre otras aplicaciones de Android. Las funciones clave incluyen:
  • 3. Un espacio dedicado a dar a su aplicación de una identidad y que 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 (con fichas o listas desplegables).
  • 4. 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 la actividad y el icono de la aplicación a la izquierda. Incluso en esta forma simple, la barra de acción es útil para todas las actividades para informar a los usuarios acerca de dónde están y para mantener una identidad coherente para su aplicación.
  • 5. Figura 1. Una barra de acción con el icono de la aplicación y el título de la actividad.
  • 6. La creación de una barra de acción básica requiere que su aplicación utiliza un tema de la actividad que permite a la barra de acción. Cómo solicitar un tema de este tipo depende de qué versión de Android es el más bajo con el apoyo de su aplicación. Así que esta lección se divide en dos secciones, dependiendo de qué versión de Android es su mínimo admitido.
  • 7. Soporte para Android 3.0 y superior. Comenzando con Android (nivel de API 11) 3.0, la barra de acción se incluye en todas las actividades que utilizan el Theme.Holo tema (o uno de sus descendientes), que es el tema por defecto cuando sea eltargetSdkVersion o minSdkVersion atributo se establece en "11 " o mayor
  • 8. Así que añadir la barra de acción para sus actividades, basta con establecer ya sea atributo a 11 o superior. Por ejemplo: <Manifiesto... > <utiliza-sdk android: minSdkVersion = "11"... /> ... </ manifest>
  • 9. NOTA: Si ha creado un tema personalizado, asegúrese de que utiliza uno de los Theme.Holo temas como su padre. Para obtener más información, consulte Aplicar estilos a la barra de acción. Ahora el Theme.Holo tema se aplica a su aplicación y todas las actividades muestran la barra de acción.
  • 10. Soporte para Android 2.1 y superiores. Adición de la barra de acciones, cuando se ejecutan en versiones anteriores a Android 3.0 (frente a Android 2.1), debe incluir la biblioteca de compatibilidad de Android en su aplicación.
  • 11. Para empezar, lea la configuración de biblioteca de soporte de documentos y establecer el appcompat v7biblioteca (una vez que haya descargado el paquete de biblioteca, siga las instrucciones para la Adición de bibliotecas con recursos).
  • 12. Una vez que tenga la biblioteca de compatibilidad integrada con su proyecto de aplicación: Actualizar su actividad para que se extienda ActionBarActivity . Por ejemplo: público de clase MainActivity extiende ActionBarActivity { ... }
  • 13. En el archivo de manifiesto, o bien actualizar el <application> elemento o individuales <activity>elementos para utilizar uno de los Theme.AppCompat temas. Por ejemplo: <Actividad android: tema = "@ style / Theme.AppCompat.Light" ... >
  • 14. Nota: Si ha creado un tema personalizado, asegúrese de que utiliza uno de los Theme.AppCompat temas como su padre. Para obtener más información, consulte Aplicar estilos a la barra de acción.
  • 15. 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>
  • 16. Adición de botones de acción La barra de acción le permite añadir botones para los elementos de acción más importantes en relación con el contexto actual de la aplicación. Los que aparecen directamente en la barra de acción con 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 lo suficientemente importantes están ocultos en el desbordamiento de la acción.
  • 17. Figura 1. Una barra de acción con un botón de acción para la búsqueda y el desbordamiento de la acción, lo que revela las acciones adicionales.
  • 18. Especificar las acciones en XML. Todos los botones de acción y otros artículos disponibles en el desbordamiento de acción se definen en un XMLrecurso de menú. Para agregar acciones a la barra de acción, crear un nuevo archivo XML en su proyecto / res / menú guía.
  • 19. Añadir un <item> elemento de cada artículo que desea incluir 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
  • 20. Iconos de la barra de descarga de acción. Para adaptarse mejor a los Androidiconografía directrices, debe utilizar los iconos proporcionados en la Barra de acción Icon Pack. Esto declara que la acción de Búsqueda debe aparecer como un botón de acción cuando la habitación está disponible en la barra de acción, pero la acción Configuración debe aparecer siempre en el desborde. (De manera predeterminada, todas las acciones aparecen en el desborde, pero es una buena práctica declarar explícitamente sus intenciones de diseño para cada acción.)
  • 21. El icono de atributo requiere un identificador de recurso para una imagen. El nombre que sigue @ estirable / debe ser el nombre de una imagen de mapa de bits que haya guardado en su proyecto / res estirable /directorio. Por ejemplo, "@ estirable / ic_action_search " se refiere a ic_action_search.png . Asimismo, el título atributo utiliza un recurso de cadena que se define por un archivo XML en su proyecto / valores res / directorio, como se discute en La construcción de una interfaz de usuario sencilla.
  • 22. Nota: Al crear iconos y otras imágenes de mapa de bits para su aplicación, es importante que usted proporciona múltiples versiones que están cada uno optimizado para una densidad de pantalla diferente. Esto se discute más en la lección sobre el apoyo a diferentes pantallas.
  • 23. Si su aplicación está utilizando la biblioteca de soporte para la compatibilidad con versiones tan bajas como Android 2.1, el showAsAction atributo no está disponible en el android: espacio de nombres.
  • 24. En lugar de este atributo es proporcionada por la Biblioteca Soporte y debe definir su propio espacio de nombres XML y el uso de ese espacio de nombres como prefijo de atributo.
  • 25. (Un espacio de nombres XML personalizado se debe basar en el nombre de la aplicación, pero puede ser cualquier nombre que desee y sólo se puede acceder dentro del ámbito del archivo en el que se declara.)
  • 26. Por ejemplo. res / menu / main_activity_actions.xml < menu xmlns:android = "http://schemas.android.com/ apk /res/android" xm lns:youra pp = "http://schema s.a ndroid.com/ a pk/res -a uto" > < ! - - Search, debe aparecer como botón de acción - - > < item android:id = " @+ id/ action_search " android:icon = " @ drawable / ic_action_search " android:title = " @string/ action_search " yourapp:showAsAction = " if Room " /> . . . < / menu >
  • 27. 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.
  • 28. Por ejemplo @ Override pública boolean onC reateOptionsMenu ( Menu menu ) { / / Inflar los elementos de menú para su uso en la acción bar MenuInflater inflater = getMenuInflater ( ) ; inflater . in f lat e ( R . menu . main_activity_actions , menu ) ; return super . onCreateOptionsMenu ( menu ) ; }
  • 29. Responder a los botones de acción. Cuando el usuario pulsa uno de los botones de acción u otro elemento en el desbordamiento de la acción, el sistema llama de su actividad onOptionsItemSelected () método de devolución de llamada .
  • 30. En la implementación de este método, llame GetItemID () sobre la propuesta MenuItem para determinar qué elemento se ha pulsado el ID devuelto coincide con el valor declarado en la correspondiente <item> del elemento android: id atributo.
  • 31. @ 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 ); } }
  • 32. 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.
  • 33. Cuando se ejecuta en Android 4.1 (nivel de API 16) o más alta, o cuando se utiliza ActionBarActivity de la biblioteca de soporte, realizando hasta la navegación simplemente requiere que se declara la actividad de los padres en el archivo de manifiesto y se habilita el Up botón de la barra de acción.
  • 34. 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:
  • 35. 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);. }
  • 36. Debido a que el sistema sabe ahora MainActivity es la actividad principal para DisplayMessageActivity , cuando el usuario pulsa el Up botón, el sistema se desplaza a la actividad de los padres según el caso-que nonecesita para manejar el hasta el evento del botón.
  • 37. El estilo de la barra de acción. La barra de acción ofrece a los usuarios una manera familiar y predecible para realizar acciones y navegar por su aplicación, pero eso no quiere decir que tiene que ser exactamente la misma que lo hace en otras aplicaciones. Si quieres estilizar la barra de acción para ajustarse mejor a la marca del producto, puede hacerlo fácilmente utilizando Android de estilo y tema recursos.
  • 38. 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.
  • 39. Nota: Si está utilizando la biblioteca API de Apoyo a la barra de acción, entonces debe usar (o anular) laTheme.AppCompat familia de estilos (en lugar de la Theme.Holo familia, disponibles en el nivel de API 11 y superior).
  • 40. D e este modo, cada propiedad de estilo que se declara debe ser declarado en dos ocasiones : una vez u t iliz an do las propieda des de la plataforma de estilo (el androide : propiedades ) y una vez con el estilo de las propieda des incluidas en la bib l ioteca de soporte (los appcompat . R.attr propiedades del contexto para estas propiedades es en realidad su aplicación) . Vea los ejemplos a con t in u ación para obtener más detalles .
  • 41. Utilice un Tema Android. Android incluye dos temas de las actividades iniciales que determinan el color de la barra de acción: Theme.Holo para un tema de "oscuro". Theme.Holo.Light para un tema de la "luz". Puede aplicar estos temas a la totalidad de su aplicación o para actividades individuales que declaró en su archivo de manifiesto con el androide: tema atributo para la <application> elemento o individuales <activity> elementos.
  • 42. Por ejemplo: <Aplicación android: tema = "@ android: style / Theme.Holo.Light" ... />
  • 43. 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.
  • 44. 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.
  • 45. 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.
  • 46. 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:
  • 47.  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 >
  • 48. A continuación, aplicar el tema a toda la aplicación o actividades individuales. <Aplicación android: tema = "@ style / CustomActionBarTheme" ... />
  • 49. Para Android 2.1 y superior. Cuando se utiliza la biblioteca de soporte, el mismo tema que el anterior lugar debe tener este aspecto:
  • 50. • 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 >
  • 51. A continuación, aplicar el tema a toda la aplicación o actividades individuales. <Aplicación android: tema = "@ style / CustomActionBarTheme" ... />
  • 52. Personaliza el color de texto Para modificar el color del texto en la barra de acción, es necesario reemplazar las propiedades por separado para cada elemento de texto: Título de la barra de acción: Crear un estilo personalizado que especifica el textColor propiedad y especificar que el estilo para el TitleTextStyle propiedad en su aduana actionBarStyle.
  • 53. Nota El estilo personalizado aplicado TitleTextStyle debe utilizarTextAppearance.Holo.Widget.ActionBar.Title co mo el estilo de los padres. Lengüetas de la barra de acción: Ignorar actionBarTabTextStyle en su tema de la actividad. Botones de acción: Ignorar actionMenuTextColor en su tema de la actividad.
  • 54. Para Android 3.0 y superiores Cuando el apoyo a Android 3.0 y superiores, el archivo XML de estilo puede tener este aspecto:
  • 55.  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>
  • 56. Para Android 2.1 y superior. Cuando se utiliza el soporte para biblioteca, el archivo XML de estilo puede tener este aspecto:
  • 57.  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>
  • 58. Personalizar el indicador Tab. Para cambiar el indicador que se utiliza para las fichas de navegación, crear un tema de actividad que anula el actionBarTabStyle propiedad. Esta propiedad apunta a otro recurso de estilo en el que se reemplaza el fondo propiedad que debe especificar un estado de la lista estirable.
  • 59. Nota. Un estado-list dibujable es importante para que la ficha seleccionada actualmente indica su estado con un fondo diferente a las otras fichas. Para obtener más información acerca de cómo crear un recurso estirable que maneja varios estados del botón, lea la Lista Estatal documentación .
  • 60. Nota. Un estado-list dibujable es importante para que la ficha seleccionada actualmente indica su estado con un fondo diferente a las otras fichas. Para obtener más información acerca de cómo crear un recurso estirable que maneja varios estados del botón, lea la Lista Estatal documentación .
  • 61. Por ejemplo, aquí hay un dibujable estado lista que declara una imagen específica de fondo para varios estados diferentes de una ficha de la barra de acción:
  • 62.  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)
  • 63. Para Android 3.0 y superiores Cuando el apoyo a Android 3.0 y superiores, el archivo XML de estilo puede tener este aspecto:
  • 64.  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 >
  • 65. Para Android 2.1 y superior. Cuando se utiliza el soporte para biblioteca, el archivo XML de estilo puede tener este aspecto:
  • 66.  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 >
  • 67. La superposición de la barra de acción. Por defecto, la barra de acción aparece en la parte superior de la ventana de su activi dad, reduciendo l igerame nte la cantidad de espacio disponib l e para el resto de la disposición de su activ idad . Si durante el curso de la interacción del usuario, qu e desea ocultar y mostrar la barra de acciones, puede hacerlo llamand o hide () y ( ) muestran en la Barra de acciones .Sin embargo, esto hace que su actividad para volver a calcular y volver a dibujar el diseño basado en su nuevo tamaño.
  • 68. Figura 1 B a r ra d e a c c i o n e s d e l a g a l e r í a e n e l m o d o d e s u p e r p o s i c i ó n .
  • 69. Para evitar cambiar el tamaño de su diseño cuando las piele s barra de acciones y programas, puede activar el modo de superposición de la barra de acción. Cuando está en modo d e superposición, el diseño actividad utiliz a todo el espaci o disponib l e, como si la barra de acción no está ah í y el sistema llama la barra de acción frente a su disposición . E sto oscurece algunas de la disposición en la parte su perior, pero ahora, cu ando la barra de acción ocultar o aparece, el sistema n o tiene que cambiar el tamaño de su diseño y la transición es perfecta .
  • 70. 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 .
  • 71. Activar el modo de superposición. Para activar el modo de superposición de la barra de acción, es necesario crear un tema personalizado que se extiende un tema barra de acción existente y establecer el android: windowActionBarOverlay propiedad ala verdadera .
  • 72. Para Android 3.0 y superiores Si su minSdkVersion se establece en 11 o mayor, su tema personalizado debe utilizar Theme.Holo tema (o uno de sus descendientes) como su tema principal.
  • 73. <resources> <- el tema aplicado a la aplicación o la actividad -> <style nombre = "CustomActionBarTheme" padre = "@ android: style / Theme.Holo" > < nombre de elemento = "android: windowActionBarOverlay" > verdadero < / elemento > </ style> </ resources>
  • 74. Para Android 2.1 y superior Si su aplicación está utilizando la biblioteca de soporte para la compatibilidad de los dispositivos que ejecutan versiones anteriores a la 3.0 de Android, el tema personalizado debe utilizar Theme.AppCompat tema (o uno de sus descendientes) como su tema principal. Por ejemplo:
  • 75. Por ejemplo. < 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 / Te 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 : 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 > < - ! 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 = " w i n d o w A c t i o n B a r O v e r l ay " > 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 >
  • 76. Observe también que este tema incluye dos definiciones para la windowActionBarOverlay estilo: una con elandroide: prefijo y otra sin ella. El que tiene el android: prefijo es para las versiones de Android que incluyen el estilo en la plataforma y el uno sin el prefijo es para las versiones anteriores que leen el estilo de la Biblioteca de Soporte.
  • 77. Especifique Layout con mejor margen. Cuando la barra de acción está en el modo de superposición, puede oscurecer un poco de su diseño que debe permanecer visible. Para asegurarse de que tales artículos se mantienen por debajo de la barra de acción en todo momento, ya sea agregar margen o relleno para la parte superior de la vista (s) con la altura especificada por actionBarSize
  • 78. Por ejemplo. <RelativeLayout xmlns:android = "http://schemas.android.com/ apk/res/android" android:layout_width = "match_parent" android:layout_height = "match_parent" android:paddingTop = "?android:attr/actionBarSize" > ... </RelativeLayout>
  • 79. Si estás utilizando la biblioteca de compatibilidad de la barra de acción, es necesario eliminar el android:prefijo.
  • 80. 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>
  • 81. En este caso, el ? attr / actionBarSize valor sin el prefijo funciona en todas las versiones, incluyendo androide 3,0 y superior.