Académique Documents
Professionnel Documents
Culture Documents
Curso Android
ActionBar:TutorialParaImplementarlaEnAndroid
SQL
ANDROID STUDIO
DATOS
DATOS
FUNDAMENTOS
WEB SERVICES
ANDROID STUDIO
Contacto
UI
CONEXIN DE RED
UI
CONEXIN DE RED
RECURSOS
FUNDAMENTOS
WEB SERVICES
RECURSOS
Inicio DesarrolloAndroid UI
TutorialSobreLaActionBarEnAndroid
Tutorial Sobre La
Action Bar En Android
JamesRevelo
42Comments
septiembre26,2014
Search
UI
Enesteartculoestudiaremoslascaractersticasyeluso
de la Action Bar (Barra de accin) en el desarrollo
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
Qu buscas?
Lo Ms Popular
Aplicacin Android
1/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
Android.
Veremossuanatoma,comocrearunarchivodediseo
paraella,comoejecutarlasaccionesunavezpresionado
susopcionesyotrascaractersticasrelevantes.
Con Navigation
Drawer Y Tabs
Cmo Sincronizar
Sqlite Con Mysql En
Android?
QuEsLaActionBarYParaQue
Funciona?
Para quienes tienen dispositivos mviles ya puede
deduciralgunasfuncionesdeestemaravillosoelemento.
LaAction Bar es un men auxiliar de las aplicaciones
Android, que se ubica en la parte superior de cada
actividad.Digodecadaactividad,yaqueesunelemento
NavigationView:
Navigation Drawer
Con Material Design
TabLayout: Cmo
Aadir Pestaas En
Android?
Servicio Web RESTful
Para Android Con
queporlogeneralespersistente.
Toolbar En Android:
Creacin De Action
Bar En Material
Design
Consumir Un Servicio
Web REST Desde
Android
Como Crear
Dilogos En Android?
AnatomaDeLaActionBar
La barra de accin se divide en cuatro partes
fundamentales que debemos reconocer antes de
empezar a programar sobre ella. Por lo que veremos la
siguienteilustracinsobresuestructura:
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
Tutorial De Parsing
Xml En Android Con
XmlPullParser
Usar Transiciones En
Android Con Material
Design
2/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
Template
recomendada
Observemosladefinicindecadasegmento:
general
se
usan
Spinners,
TextViews,
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
3/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
4/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
Veamos:
<menuxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".Main">
<itemandroid:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
android:showAsAction="never"/>
</menu>
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
5/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
serreferenciadoennuestroarchivoR.java.
title :Esunstringasignadoparaelttulodelbotn.
icon : Aqu asignaremos el icono que representar
6/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
disponible
para
nuestro
tem,
entonces
se
EjemplodeusodelaActionBar
En base a este conocimiento, procederemos a crear
nuestro propio men. Como ya sabemos que son cinco
Action Buttons, entonces elegiremos cuales de esos
son los ms populares para los usuarios de nuestra
aplicacin.
A mi parecer, creo que la bsqueda y aadir un nuevo
elemento a la base de datos es muy relevante, el resto
de opciones no es tan frecuente usarlas. Tal vez tu lo
consideres distinto y es vlido que uses tus propios
criterios, por lo que no nos complicaremos, ya que esta
aplicacinsoloesdepropsitoeducativo.
Una
vez
elegidos
los
que
deseamos
ver
<menuxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".Main">
<itemandroid:id="@+id/add"
android:icon="@android:drawable/ic_menu_add"
android:title="@string/add"
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
7/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
android:orderInCategory="1"
android:showAsAction="ifRoom"/>
<itemandroid:id="@+id/search"
android:icon="@android:drawable/ic_menu_search"
android:title="@string/search"
android:orderInCategory="2"
android:showAsAction="ifRoom"/>
<itemandroid:id="@+id/edit"
android:title="@string/edit"
android:orderInCategory="3"
android:showAsAction="never"/>
<itemandroid:id="@+id/delete"
android:title="@string/delete"
android:orderInCategory="4"
android:showAsAction="never"/>
<itemandroid:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
android:showAsAction="never"/>
</menu>
8/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
conAndroidStudio
Tambin hemos ubicado en orden prioritario nuestros
action buttons desde 1 a 4. Para Ajustes usamos el
ndice 100 debido a que siempre ser considerado la
opcinmenossolicitadaenunaaplicacin.
Para este diseo la previsualizacin qued de la
siguienteforma:
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
9/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
InflarelmendelaActionBar
Enprimerlugarencontramosa onCreateOptionsMenu() .
Si te fijas en el archivo Main.java autogenerado por
Android Studio, este mtodo ya esta sobrescrito con
algunas instrucciones por defecto. Este mtodo es
autoinvocado para inflar todo el cdigo XML que
tenemosennuestroarchivodediseo.
@Override
publicbooleanonCreateOptionsMenu(Menumenu
getMenuInflater().inflate(R.menu.main
returntrue;
}
instruccionesquesedandentrodeesemtodosonmuy
similares a las del mtodo onCreate() de las
actividades.
Lo primero que se hace es obtener una referencia del
MenuInflater alculestarelacionadalaactividad.Este
10/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
@Override
publicbooleanonOptionsItemSelected(MenuItem
intid=item.getItemId();
if(id==R.id.action_settings){
returntrue;
}
returnsuper.onOptionsItemSelected(item
}
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
11/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
@Override
publicbooleanonOptionsItemSelected(MenuItem
switch(item.getItemId()){
caseR.id.add:
//metodoAdd()
info.setText("SepresionAadir"
returntrue;
caseR.id.search:
//metodoSearch()
info.setText("SepresionBuscar"
returntrue;
caseR.id.edit:
//metodoEdit()
info.setText("SepresionEditar"
returntrue;
caseR.id.delete:
//metodoDelete()
info.setText("SepresionEliminar"
returntrue;
caseR.id.action_settings:
//metodoSettings()
info.setText("SepresionAjustes"
returntrue;
default:
returnsuper.onOptionsItemSelected
}
}
12/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.Menu;
Se te dificulta disear bases de datos?
importandroid.view.MenuItem;
importandroid.widget.TextView;
SI,QUIEROSOLUCIONARLO
publicclassMainextendsActivity{
privateTextViewinfo;
@Override
protectedvoidonCreate(BundlesavedInstanceState
107
Apoyos super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main
41
//Obteniendolaintanciadeltextview
info=(TextView)findViewById(R.id.info
}
15
@Override
publicbooleanonCreateOptionsMenu(Menumenu
getMenuInflater().inflate(R.menu.main
returntrue;
}
@Override
publicbooleanonOptionsItemSelected(MenuItem
switch(item.getItemId()){
caseR.id.add:
//metodoAdd()
info.setText("SepresionAadir"
returntrue;
caseR.id.search:
//metodoSearch()
info.setText("SepresionBuscar"
returntrue;
caseR.id.edit:
//metodoEdit()
info.setText("SepresionEditar"
returntrue;
caseR.id.delete:
//metodoDelete()
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
Tecnologa de Native
Info
13/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
info.setText("SepresionEliminar"
returntrue;
caseR.id.action_settings:
//metodoSettings()
info.setText("SepresionAjustes"
returntrue;
default:
returnsuper.onOptionsItemSelected
}
}
}
HayquetenerencuentaquelaseccinActionoverflow
delaActionBarsevisualizasoloenlosdispositivosque
notenganlateclamenensuhardware.Siseleccionas
algn AVD que represente un modelo que contenga la
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
14/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
Ocultar/MostrarlaActionBar
En ocasiones los desarrolladores desean ocultar la
Action Bar para satisfacer alguna necesidad o reclamar
msespacioyclaridadparalanavegacin.
Resolver este inconveniente es muy sencillo y prctico,
simplemente haremos uso de los mtodos hide() y
show() de la clase ActionBar . Como su traduccin lo
indica, hide() escondelabarray show() lamuestrade
nuevo.
Observemosamboscasos:
importandroid.app.ActionBar//Incluyeladependencia
...
//Obteniendolainstancia
ActionBaractionBar=getActionBar();
//EscondiendolaActionBar
actionBar.hide();
...
//MostrandodenuevolaActionBar
actionBar.show();
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
15/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
Solobastaconaccederalainstanciadelabarraconel
mtodo getActionBar() delaclaseActivity.
CambiareliconodelaActionBar
Estecambioesmuyfrecuenteparalapersonalizacinde
nuestrasaplicaciones.Yahemosvistoqueeliconodela
Action Bar es el mismo icono de lanzamiento de los
recursos de Android. As que para cambiarlo debemos
crearprimeronuestropropioiconoologoysituarloenla
seccinAppIcon.
Si el icono ser preestablecido cuando se inicia la
aplicacin, entonces podemos aadirlo de forma
descriptiva al archivo del men. Para asignar el icono
usaremos el atributo android:logo en la etiqueta
<application> del archivo AndroidManifest.xml . Su
valor ser la referencia de un recurso drawable que
representeanuestrologo.
Porejemplo
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
<strong>android:logo="@drawable/logo"
android:label="@string/app_name"
android:theme="@style/AppTheme">
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
16/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
ActionBaractionBar=getActionBar();
//Seteandoelicono
actionBar.setIcon(R.drawable.logo);
Conclusin
Enesteartculovimoscmoimplementarlaactionbaren
Android. Esto permitir aadir action buttons para el
funcionamientogeneraldeunaapp.
Se explicaron varias caractersticas como ocultar la
action bar, cambiar el icono y procesar eventos de los
botones.
Sin embargo, el nuevo estilo de diseo creado por
GooglellamadoMaterialDesign, ha cambiado un poco
el enfoque de la action bar a travs de un nuevo
componentellamadoAppBar. Si deseas aprender ms
puedes ver el artculo Toolbar EnAndroid: Creacin De
ActionBarEnMaterialDesign.
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
17/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
Quieresaprenderadisearbasesde
datosdesde0?
Artculos Relacionados
Controles:
TutorialDe
BotonesEn
Android
TextInputLayout
EnAndroid:
MaterialDesign
TutorialPara
CrearUn
RecyclerView
JuntoA
CardViewsEn
Android
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
18/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
Comentarios
Comunidad
Recomendar 2
Compartir
Iniciarsesin
ordenarporelmejor
netealadiscusin...
Jonny hace3meses
Hola,estaActionBarfuereemplazadaporelToolBar,
no?HayalgunaventajadeutilizarlasobreelToolBar?
Gracias.
Responder Compartir
JamesReveloUrrea
hace3meses
Moder. >Jonny
HolaJonny,sifuereemplazadaporlaToolbar.
Aqutedejoellinkdeltuto:
http://www.hermosaprogramacion...
Responder Compartir
alfonzovargas>JamesRevelo
Urrea hace2das
amigoysiloquequieroescambiarel
iconodeunaaplicacionnativade
androidconandroidstudiocomo
podriahacer?
Responder Compartir
WilsonFLemusMontaa hace8meses
EstecodigovaenelonCreate()??porqueahilo
agregoynomedejaejecutarlaapp.
ActionBaractionBar=getActionBar()
//Seteandoelicono
actionBar.setIcon(R.drawable.logo)
Responder Compartir
Creoqueprimerodebescomprobarqueel
resultadodegetActionBar()noseanully
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
19/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
luegosillamarasetIcon().
Responder Compartir
WilsonFLemusMontaa>
JamesReveloUrrea hace8meses
Gracias.Psloquehicefueesto.Yo
estabahaciendounextendsActivity,y
locambieaunextends
ActionBarActivityyahisimesirvio.
PeroelActionBarActivitymeaparece
tachadolocualquieredecirqueyano
sedebeutilizar.Aunestoyleyendo
creoqueenlasultimasversionesde
AndroidStudiotocaextenderde
AppCompatActivity.Sialguiensabe
algosobreeltema,leagradeceria.
GraciasJamesporrespoder
Responder Compartir
JamesReveloUrrea
Moder. >WilsonFLemus
Montaa hace8meses
Siwilson,enestemomentose
usaAppCompatActivityyla
actionbarahoraserepresenta
conlaclaseToolbar.Miraeste
articulo:
www.hermosaprogramacion.com/20...
Responder
Compartir
WilsonFLemusMontaa
>JamesReveloUrrea
hace8meses
Jamesmuchasgracias,la
verdadquebuenaporte!!!
Prontolecontarecomomefue
Responder
Compartir
JamesReveloUrrea
Moder. >WilsonFLemus
Montaa hace8meses
okamigo:)
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
Responder
Compartir
20/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
Jess hace8meses
Hola,primerofelicitarosporlaestupendaweb!
Nosecomosolucionar:alintentarpersonalizarel
actionbar,enstylemearrojaerrorde"toplevel
elementisnotcompleted"y"validxmldocumentmust
havearoottag"lahacerlaherenciadeltema
"Theme.AppCompat.Light.DarkActionBar"
<resource>
<stylename="AppTheme"
parent="Theme.AppCompat.Light.DarkActionBar">
<itemname="colorPrimary">@color/primary</item>
<item
name="colorPrimaryDark">@color/primary_dark</item>
<itemname="colorAccent">@color/accent</item>
</style>
</resource>
Gracias,ysaludos
Responder Compartir
JamesReveloUrrea
hace8meses
Moder. >Jess
Enquelugartesealaelerror?
Responder Compartir
Jess>JamesReveloUrrea
hace8meses
Mesubrayaenrojo
Theme.AppCompat.Light.DarkActionBar
ypinchandoenlamarcarojadela
derechameda"toplevelelementis
notcompleted"y"validxmldocument
musthavearoottag"....Hevueltoha
cargarunnuevoproyectoyhe
comprobadoconenstylequepor
defectoincorporatambinlomarca,
adems,aunque"reconoce"los
colorestambinlomarca....Vayaando
algoperdido,esperoquedespusde
untiempomeencuentre:(!
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
21/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
untiempomeencuentre:(!
Gracias
Responder Compartir
Jess>Jess
hace8meses
Holadenuevo...cadapasito
quedoymetropiezo:(.Ahora
alintentarinsertarellogoenel
actionbarmedaelsiguiente
errorCannotresolvesymbol
"R"...Gracias,ydisculpalas
molestias...
Responder
Compartir
JamesReveloUrrea
Moder. >Jess
hace8meses
Compaerorevisaqueel
paqueteJavaqueest
referenciadoentu
AndroidManifesttieneelmismo
nombrequeeldetuproyecto.
Fijate.Siesigual,entonces
dalerebuilprojectoclean
project.
Responder
Compartir
Jess>JamesRevelo
Urrea hace8meses
muchsimasgracias!Con
rebuiltprojecthasolucionadoel
CannotresolvesymbolR.:)
Peronoheconseguido
solucionarenstyles,elerror
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
22/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
solucionarenstyles,elerror
quemeseala"toplevelisnot
completed"y"Validxmlmust
havearoottag",aunqueno
impidequeelemuladorlancela
aplicacin.:(
Algunaidea?
Responder
Compartir
JamesReveloUrrea
Moder. >Jess
hace8meses
Quetalsienelencodificado
detuarchivocambiasCRLF
porLF?
Responder
Compartir
Jess>JamesRevelo
Urrea hace8meses
Enprimerlugar,agradecerteel
tiempoprestadoylaayuda.
Lohecambiadoperomesigue
marcandoeseerror.
Responder
Compartir
Jess>Jess
hace8meses
Alrebuiltprojectmerebotael
siguientemensaje:
Error:(2)Errorretrievingparent
foritem:Noresourcefoundthat
matchesthegivenname
'Theme.Appcompat.Light.DarkActionBar'.
Error:Executionfailedfortask
':app:processDebugResources'.
>
com.android.ide.common.process.ProcessException:
org.gradle.process.internal.ExecException:
Process'command
'C:\Users\Public\programacion\Androidsdk\build
tools\23.0.1\aapt.exe''finished
withnonzeroexitvalue1
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
23/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
withnonzeroexitvalue1
Porsipodraayudarpara
solucionarelproblema...pues
comopodrscomprobar,an
intentandogatearmepierdo.:(
Gracias,nuevamenteporla
ayuda:)
Responder
Compartir
JamesReveloUrrea
Moder. >Jess
hace8meses
Miraestarespuesta:
http://stackoverflow.com/quest...
Responder
Compartir
aldakur hace9meses
Algunaidea,paraquealgnbotnaparezcaenla
parteizquierdadelaActionBarmientrasqueotrosse
mantenganaladerecha?
Responder Compartir
JamesReveloUrrea
hace9meses
Moder. >aldakur
Holaamigo,terefieresalordendequeuno
vayaprimeroqueotrooamoverelaction
buttonalladodeltitulo?
Responder Compartir
Cristopher hace9meses
Funcionaenlaversion2.3deandroid???
Responder Compartir
MarienSequera hace9meses
Gracias,mesirviomucho<3
Responder Compartir
JamesReveloUrrea
Moder. >Marien
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
24/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
Congusto!
Responder Compartir
Mark hace10meses
Sepuedemostrarunaaplicacinandroidunasola
vezydeahdeshabilitarlo
Responder Compartir
JamesReveloUrrea
hace10meses
Moder. >Mark
AqueterefieresMark?
Responder Compartir
Mark>JamesReveloUrrea
hace10meses
Quierohacerunsistemasderegistro.
Quealcompletarelregistrola
aplicacinsedesactiveodesinstale
deltelfono.Nosesiseaposible,
Ayuda
Responder Compartir
JamesReveloUrrea
Moder. >Mark
hace10meses
Esdecir,laactividadde
registroseejecuta,recogeslos
datos,elusuarioselogueay
nuncavuelveaverla
aplicacin?
Oluegodeloguearsesigue
otrainterfazdelaaplicacin?
Responder
Compartir
JuanValdemarColichon
Ramirez>JamesRevelo
Urrea hace8meses
Amimeinteresaestoultimo
quedespusdeloguearsesiga
aotrainterfaz,peroyano
vuelvaalainterfazanterior.
depasootracomopuedo
hacerquemiaplicativo
muestreuntutorialsolouna
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
25/26
26/5/2016
ActionBar:TutorialParaImplementarlaEnAndroid
muestreuntutorialsolouna
vezalinstalardeahnunca
masaparezca,amenosquelo
desinstaleylovuelvaa
instalar.
Responder
Compartir
JamesReveloUrrea
Moder. >JuanValdemar
ColichonRamirez
hace8meses
Unasolucinsencillapodra
seralmacenarunvalorenun
sharedpreferencesquese
guardeendiscoparatener
comobanderaelestadoactual.
Cuandoinicielaapp
preguntaraslapreferenciaes
true?,siespositivoentonces
nomuestraslaintroducciny
http://www.hermosaprogramacion.com/2014/09/androidactionbar/
26/26