Iniciando ActionBar no Android, Trabalhando Com Menu

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes! Você receberá um email de confirmação. Somente depois de confirma-lo é que eu poderei lhe enviar os conteúdos semanais exclusivos. Os artigos em PDF são entregues somente para os inscritos na lista.

Email inválido.
Blog /Android /Iniciando ActionBar no Android, Trabalhando Com Menu

Iniciando ActionBar no Android, Trabalhando Com Menu

Vinícius Thiengo
(15601) (15)
Go-ahead
"O método consciente de tentativa e erro é mais bem-sucedido que o planejamento de um gênio isolado."
Peter Skillman
Prototipagem Android
Capa do curso Prototipagem Profissional de Aplicativos
TítuloAndroid: Prototipagem Profissional de Aplicativos
CategoriasAndroid, Design, Protótipo
AutorVinícius Thiengo
Vídeo aulas186
Tempo15 horas
ExercíciosSim
CertificadoSim
Acessar Curso
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Lendo
TítuloManual de DevOps: como obter agilidade, confiabilidade e segurança em organizações tecnológicas
CategoriaEngenharia de Software
Autor(es)Gene Kim, Jez Humble, John Willis, Patrick Debois
EditoraAlta Books
Edição1ª
Ano2018
Páginas464
Conteúdo Exclusivo
Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba gratuitamente conteúdos Android sem precedentes!
Email inválido

Opa! Blz?

Nesse vídeo dou inicio a uma série de vídeos (que provavelmente serão 2 ou 3) falando sobre e apresentando a classe ActionBar no Android, classe que literalmete é uma baita mão na roda quando trabalhamos também com fragments. Note que esse é o vídeo inicial, logo a parte core do ActionBar não é abordada nesse vídeo, porém é importante assisti-lo se você ainda não conhece essas ferramenta no Android. ActionBar (Fragment também) é uma das classes que (na minha opinião) logo logo será de uso obrigatório na comunidade de desenvolvedores Android devido as possibilidades que ela nos fornece além da facilidade de uso. Fique atento que ActionBar somente tem suporte para versões maiores ou iguais ao Android 3.0 (API 11), porém há várias libs na net que nos dão possibilidade de utilizar ActionBar perfeitamente em versões 2.x do Android, porém esse será o último vídeo desse série sobre ActionBar. Ficar atento também quanto ao tema que será utilizado, pois o ActionBar está disponível apenas para o tema "Thema.Holo" e temas que o herdam, porém nos meus testes eu consegui colocar Tabs e Menu na barra superior sem utilizar o Theme.Holo, mas notei que os listernes das Tabs não estavam funcionando e que quando eu definia o atributo "android:windowNoTitle" como true na área de temas de minha aplicação a APP gerava uma exceção e nem sequer abria. Mas enfim, vou evitar mais delongas e deixar você assistir ao vídeo.

Obs. : Se você ainda não assistiu aos vídeos sobre Fragments, assista antes do segundo vídeo da série sobre ActionBar, pois esse conhecimento sobre Fragments será necessário (os links desses vídeos estão no "Recomendados" desse post).

O link para download do projeto se encontra logo abaixo no post.

Segue links das páginas das principais classes utilizadas no projeto de exemplo:

Página da classe ActionBar no site oficial do Android

Página da UI ActionBar no site oficial do Android

Página da classe Menu no site oficial do Android

Página da classe MenuItem no site oficial do Android

Página de estatisticas de versões de API em uso no site oficial do Android

Vlw

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes!
Email inválido

Relacionado

AsyncTask no Android, Acesso a Thread Principal de Forma OtimizadaAsyncTask no Android, Acesso a Thread Principal de Forma OtimizadaAndroid
Construindo View Personalizada no AndroidConstruindo View Personalizada no AndroidAndroid
Fragments no Android, Trabalhando com Múltiplas ActivitiesFragments no Android, Trabalhando com Múltiplas ActivitiesAndroid
Ciclo de Vida e Otimização de Fragments no AndroidCiclo de Vida e Otimização de Fragments no AndroidAndroid

Compartilhar

Comentários Facebook

Comentários Blog (15)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
Ricardo (1) (0)
06/03/2016
Boa tarde.
Estou iniciando com Android. E estou estou encontrando um problema. Não estou conseguindo demonstrar os "3 pontinhos" no menu ActionBar. O ActionBar  e demonstrado apenas o titulo dele. porém o 3 pontinho não. Sabe me informar se tem algum segredo para demonstrar os pontinho? É estranho que todos tutorial na net os pontinhos sempre são demonstrado.
Responder
Vinícius Thiengo (1) (0)
06/03/2016
Fala Ricardo, blz?
Esse vídeo está com uma entidade não mais utilizada, ela está depreciada. Veja esse vídeo do Toolbar (http://www.thiengo.com.br/toolbar-material-design-android-parte-1 ), ele é mais atual. Nele, se me lembro bem, comento sobre os buttons menu tb. Abraço
Responder
augusto (1) (0)
28/02/2016
Bom dia!
Como faço para deixar o menuitem(três pontinhos ) em apenas uma das abas do menu?
  Agradeço desde já pela atenção
Responder
Vinícius Thiengo (0) (0)
28/02/2016
Fala Augusto, blz?
Vc pode utilizar itens de menu aninhados nesse item que vc deseja os 3 pontos. Pode utilizar um icon desses 3 pontos tb. O vídeo acima é um tanto antigo, agora se utiliza a Toolbar, veja esse vídeo (http://www.thiengo.com.br/toolbar-material-design-android-parte-1 ). Abraço
Responder
PMateus (1) (0)
24/08/2015
Thiengo, primeiro gostaria de te agradecer. Seus vídeos sempre são esclarecedores e me ajudam demais. A bronca é a seguinte: Minha aplicação está usando um menu na actionbar com 4 itens. 1 item vai ser fixo e o resto como never. Porém, não aparece ao lado do item fixo o ícone do menu suspenso (aqueles três pontinhos com as outras opções que estão never). Mas se eu utilizar o botão físico de menu no dispositivo, as opções aparecem no rodapé... No que posso estar errando? Obrigado desde já!
Responder
Vinícius Thiengo (0) (0)
25/08/2015
Fala Mateus, blz?
Primeiro recomendo que migre seu código para o Toolbar (http://www.thiengo.com.br/toolbar-material-design-android-parte-1 ), ele é mais atual, mais fácil e mais flexivel, e tenha em mente que o Actionbar está deprecated. De qualquer forma, veja se como o exemplo abaixo seu menu roda com o icon de três pontos tb. Abraço

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android " >

<item
        android:id="@+id/item0"
        android:orderInCategory="100"
        android:showAsAction="ifRoom"
        android:title="Item 0" />

<item android:showAsAction="ifRoom" android:icon="@drawable/iconTresPontos" >
<menu>
<item
        android:id="@+id/item1"
        android:orderInCategory="100"
        android:showAsAction="ifRoom"
        android:title="Item 1" />
<item
        android:id="@+id/item2"
        android:orderInCategory="100"
        android:showAsAction="ifRoom"
        android:title="Item 2" />
</menu>
</item>
</menu>
Responder
Dalton Pimmel (1) (0)
29/06/2015
Boa tarde Vinicius,
Estou com o mesmo problema do Claudinei, que não aparece o never na actionBar. Eu verifiquei que no meu arquivo manifest ele fica com erro, ele funciona igual, mas não aparece o never.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android "
    package="com.example.uffs.uffs" >

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Holo.Light" >
        <activity
            android:name=".Tela_Principal"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".ListaCursos"></activity>
        <activity android:name=".CadastrarCursos"></activity>
        <activity android:name=".InformacoesCursos"></activity>
        <activity android:name=".EditarCursos"></activity>
        <activity android:name=".ListaProfessores"></activity>
        <activity android:name=".CadastrarProfessor"></activity>
        <activity android:name=".InformacoesProfessores"></activity>
        <activity android:name=".EditarProfessores"></activity>
    </application>

</manifest>


esse é meu arquivo manifest, ele da fica sublinhado vermelho na android:theme="@android:style/Theme.Holo.Light" >
e na classe quando eu instancio uma ActionBar como voce fez no exemplo tambem fica assim.
Responder
Vinícius Thiengo (0) (0)
30/06/2015
Fala Dalton, blz?
Vou lhe dar uma dica melhor, utilize a Toolbar (https://www.youtube.com/playlist?list=PLBA57K2L2RIKq7_IpaZRTL96CyLNDzF2F ), tenho uma série de vídeos que mostram ale'm dela outras novas entidades. Recomendo isso, pois o ActionBar está depreciado, incluindo o SherlockActionBar. Abraço
Responder
leandroe (1) (0)
10/06/2015
Muito boa explicação me ajudou muito! Parabéns !
Responder
Vinícius Thiengo (0) (0)
10/06/2015
Fala Leandro, blz?
Não continue com a ActionBar, ela está depreciada. Siga essa série que estou fazendo:

https://www.youtube.com/playlist?list=PLBA57K2L2RIKq7_IpaZRTL96CyLNDzF2F

Nela tem as novas entidades que deve utilizar. Abraço
Responder
Claudinei (0) (0)
15/10/2014
Thiengo,

Meu menu esta exatamente igual ao seu, mas o "never" não aparece na actionbar.

Estou compilando direto no meu celular com versão 4.2.2
O restante do projeto esta ok.

O que pode ser??

Obrigado,
Claudinei
Responder
Vinícius Thiengo (0) (0)
15/10/2014
Hum, já vi isso antes, olhe esse exemplo e veja se consegue entender, ele funciona:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android " >
    <item
    android:id="@+id/itemSearch"
    android:title="Buscar post"
    android:showAsAction="always"
    android:actionViewClass="com.actionbarsherlock.widget.SearchView" />
    
<item
    android:showAsAction="always"
        android:icon="@drawable/ic_menu_moreoverflow_normal_holo_dark" >
<menu>
<item
        android:id="@+id/item1"
        android:orderInCategory="100"
        android:showAsAction="ifRoom|withText"
        android:title="@string/mn_item_1" />
<item
        android:id="@+id/item2"
        android:orderInCategory="100"
        android:showAsAction="ifRoom|withText"
        android:title="@string/mn_item_2" />
</menu>
</item>
</menu>

Adapte a seu código. Abraço
Responder
Michael Handrey (0) (0)
21/07/2014
Boa Tarde Vinícios!

Mais uma vez gostaria de lhe parabenizar pelo seu trabalho... Show de Bola!

Tenho uma dúvida. Como eu poderia alterar o background de um MenuItem?

Tentei de várias formas e não consegui encontrar uma solução.

Poderia me ajudar?
Responder
Vinícius Thiengo (0) (0)
21/07/2014
Fala Michel, blz?
Há várias formas de fazer isso, se eu entendi sua dúvida, a que acho mais fácil e recomendo é utilizando a ActionBar Style Generator (https://www.youtube.com/watch?v=GrZKAHdx800 ). Ve se isso lhe ajuda. Abraço
Responder
Michael Handrey (0) (0)
21/07/2014
Obrigado mais uma vez foi o único video da ActionBar que eu não havia visto kkkk mas mto obg vlw abraço...
Responder