quarta-feira, 24 de julho de 2013

Implementando uma ActionBarActivity no Android




Antes de mais nada.... estamos de volta !
Caros amigos, nesse artigo estarei explicando como implementar uma ActionBar no Android.
Com certeza você já viu uma ActionBar em algum aplicativo que já usou.
Ela é aquela barra no topo da aplicação que dispõe de uma série de recursos que enriquecem seu aplicativo.
Se quiser saber mais a respeito consulte essa URL: http://developer.android.com/guide/topics/ui/actionbar.html
Esse recurso está disponivel nativamente desde a versão 3.0 (não há versão nativa para versões anteriores deste recurso).
A maioria das pessoas acaba usando uma biblioteca muito conhecida chamada ActionBar Sherlock.
É verdade que ela é muito boa, porém na última atualização de APIs temos uma ActionBar compatível com versões anteriores do Android, tornando desnecessário o uso dessa API.
Antes de começarmos o nosso exemplo, não esqueça de atualizar seu Android SDK para incrementar a versão 4.3 (que acabou de sair) através do Android SDK Manager (atualize os demais recursos também)... não esqueça de atualizar também o seu ADT (indo no eclipse em Help -> Check for Updates).




Passo 1. Importando o android.support.v7.appcompat

Para importar esse pacote que contém todo o necessário para o desenvolvimento desse exemplo vá em File -> New -> Other -> Android -> Application Project from Existing Code e clique no botão Next.
Para selecionar a pasta clique no botão Browse e direcione para o local onde você instalou o seu Android SDK (MeuDiretorioSDK/extras/android/support/v7/appcompat). Clique no botão OK e em seguida em Finish.
Talvez você se pergunte: - "Eu não posso jogar o .jar direto em libs ?"
Bom... nesse caso, você terá que importar todos os resources do projeto android.support.v7.appcompat para o nosso projeto.
Acredito que quando você ver a lista de coisas que você deverá trazer para o nosso projeto, vai concordar comigo que desse jeito que fizemos é muito mais fácil e prático. :)



Passo 2. Criando nosso projeto

Vá em File -> New -> Other -> Android -> Android Application Project e crie o projeto.
Não esqueça de marcar o Target SDK e Compile With com a API 18 (Android 4.3) !
Mantenha o item Minimum Required SDK para a API 8 (Android 2.2)




Passo 3. Inserindo o pacote android.support.v7.appcompat  ao nosso projeto

Clique com o botão direito no projeto e vá em Properties -> Android.
Na parte inferior da janela em Reference, clique no botão Add e escolha o pacote android.support.v7.appcompat e clique em OK.



Passo 4. Editando o tema do projeto

Para utilizar a ActionBar compatível temos que adequar o estilo do projeto.
Vá na pasta res -> values -> styles.xml.
Altere a linha <style name="AppBaseTheme" parent="android:Theme.Light"> para <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
Isso fará que a Actionbar fique escura e os demais recursos do projeto de cores claras.

Passo 5. Programando a ActionBar

Abra a classe da sua Activity (no meu caso... MainActivity) e faça as alterações demonstradas.
Tomem cuidado com os imports.


Esse é o resultado final (Android 2.3)...



Passo 6. Explicando

Ao criar a activity obtemos uma instância da ActionBar através do comando getSupportActionBar.
No método setObjects definimos um ícone para ela (pode ser qualquer outro que você importe no projeto).
Definimos um título. (lembrando que o melhor lugar para strings é no arquivo strings.xml e carregando através do comando getString)
Por último colocamos o parâmetro HomeAsUp que serve para voltar para a Activity anterior(sem utilidade implementada dessa forma. Coloquei apenas para mostrar a existência do recurso).
Nesse tutorial explicamos de forma simples e limitada a implementação da ActionBar.
Em artigos posteriores iremos aprofundar o assunto.
Espero que esse tutorial seja de ajuda para muitos de vocês.
Caso você não conheça, nós temos uma página no facebook com conteúdo exclusivo para programadores android, corre lá ! http://www.facebook.com/StrangerDroidBlog