Portal Android - Comunidade de Desenvolvedores Android
http://www.portalandroid.org/comunidade/

[TUTORIAL] Action Bar Sherlock - Como Configurar
http://www.portalandroid.org/comunidade/viewtopic.php?f=7&t=20843
Página 1 de 1

Autor:  ByddU [ 04 Ago 2012, 05:21 ]
Assunto do Tópico:  [TUTORIAL] Action Bar Sherlock - Como Configurar

Boa noite galera.
Inicialmente eu criei esse tutorial no meu blog https://pedreirosdosoftware.wordpress.c ... -sherlock/

Mas achei que seria interessante publicar aqui tambem pois muitos utilizam o forum como fonte de informação (Inclusive eu =D)

Imagem

Este post explicará sobre o que é uma Action Bar, porque utilizá-la e o principal como criar uma através de uma library chamada Action Bar Sherlock.
------O que é uma Action Bar?

Segundo o site oficial do Android, Action Bar é uma ferramenta que identifica a aplicação, a localização do usuário e prove funções ao usuário como por exemplo o de salvar alguma operação.

Imagem
Figura 1. ActionBar

Essa função no Android só foi lançada para a versão 3.0 e superiores.

E isso quer dizer que não é posivel ter uma Action Bar nas minhas aplicações para smartphones com a versão 2.1 por exemplo?

Não felizmente existem excelentes pessoas que passam pelos mesmos problemas que nós e acabam desenvolvendo ótimas soluções e compartilhando com a comunidade da melhor forma possível, FREE e OPEN SOURCE.

E adivinha? Foi exatamente isso que aconteceu com Action Bar no android através da Action Bar Sherlock.

---------Porque utilizar uma Action Bar?

Por que é fácil.
Elas são legais =).
Aplicativos famosos utilizam esse padrão provando que elas dão conta do recado.
É uma recomendação do site Oficial.

-------Como criar uma Action Bar?

Criar o "ambiente" para a utilização da library Action Bar Sherlock é bastante fácil se você ja desenvolveu alguma coisa para Android. São necessário poucos passos que necessitam de um pouco de atenção e só.

Então vamos lá.

Baixe a library no site: http://actionbarsherlock.com/download.html ( A versão atual é a Version 4.1.0). Você provavelmente baixou um arquivo compactado, descompate tal arquivo em seguida entre na pasta e você terá a mesma estrutura apresentada na Figura 2.

Imagem
Figura 2. Arquivos descompactados

A pasta library possui os sources da action bar propriamente dita, a pasta samples possui exemplos excelentes de utilização que você mais tarde provavelmente irá utilizar para obter o máximo que essa library pode oferecer e o resto eu não tive interesse de saber o que são, você poderia ver e me contar nos comentários mais tarde o que acha?

Agora o que você vai fazer é copiar a pasta library e colar em um local que você utiliza para deixar seus projetos.

Com o Eclipse aberto vá no menu File > New > Project > Android > Android Project from existing code. Clique em browse e procure pelo projeto no local onde você salvou anteriormente e de OK.

------------------------------------------------------------------------------------------------------------------------------------------------

Observação 1.

Obs.: Eu tive vários problemas nessa parte porque esse novo Eclipse Juno está me retornando uma mensagem de erro dizendo que o projeto ja existe, o que não é verdade.

Se você está passando por esse erro tambem sugiro que para contornar você crie um novo projeto Android com um nome por exemplo MinhaAction

Va a pasta do projeto library que haviamos separado anteriormente e copie os arquivos selecionados na imagem a baixo ( pasta res, src, test e o arquivo AndroidManifest) e cole dentro do seu projeto MinhaAction, vai dar um aviso que se você deseja adicionar o conteudo é só clicar em sim para todos.
Imagem
Figura 3. Arquivos selecionados para copiar

Assim você terá o projeto MinhaAction ficará igualzinho ao projeto library anterior.

Agora você pode serguir normalmente os passos abaixo.

------------------------------------------------------------------------------------------------------------------------------------------------

Você possui erros em algumas classes do projeto ainda mas não se preocupe vamos resolver isso em breve.

Com o projeto já aberto no Eclipse clique com o botão direito em cima do projeto e vá em Android. Você vai ver na parte inferior da tela uma opção pra marcar is library como a Figura 4 nos mostra, e depois clique nela e depois em apply.

Imagem
Figura 4. Projeto Android Propriedades

Agora nessa mesma janela ache o menu Java compiler ( Atenção essa parte é importante pois se não for feita o seu projeto ficará com erros ) e selecione 1.6 Figura 5. Com essa opção marcada todos os erros do projeto devem ter sumido, se não você deve ter feito algo errado retorne e reveja os passos.

Imagem
Figura 5. Android projeto propriedades java compiler

Agora clique com o botão direito em cima do projeto novamente vá na opção Android tools > Add support library. E espere até baixar tudo.

E pronto com isso você ja possui um projeto que servirá de biblioteca para outros.
Agora vamos criar um projeto que irá utilizar esse projeto biblioteca que acabamos de criar.

Crie um projeto normal apontando para a API 14 (4.0) com um nome qualquer como por exemplo UsandoActionBar com uma tela, no meu caso eu vou utilizar a tela que ele cria por padrão se você selecionar a opção. Você deve estar se perguntando mas o meu dispositivo só roda 2.1 como que vou fazer? Fique tranquilo que mesmo selecionando o target de versão 4.0 o projeto irá rodar em um dispositivo com a versão 2.2 por exemplo, pois adicionamos a library de compatibilidade.
Em seguida clique com o botão direito em cima do projeto UsandoActionBar va até a opção propriedades, selecione o menu Android e clique no botão Add, Figura 6. E seleciona o projeto MinhaAction.

Imagem
Figura 6. Add library

Agora estamos quase lá.

Abra sua classe que estende da activity, a minha se chama MainActivity. E troque o extends de Activity para SherlockActivity, caso você não encontre essa classe usando o CTRL + SPACE é porque o projeto MinhaAction não foi adicionado como biblioteca com sucesso. Caso esse erro persista e você esta fazendo tudo corretamente é porque você provavelmente está com o mesmo BUG que eu passei. Para resolver isso você deve fazer o que foi descrito na Observação 1.

E a ultima coisa a se fazer é ir no manifest do projeto UsandoActionBar e adicionar em cada activity um tema da Action Bar Sherlock. No caso eu utilizei Sherlock.Light.

Meu arquivo Manifest.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.usandoactionbar"
android:versionCode="1"
android:versionName="1.0" >


<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />


<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >

<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:theme="@style/Theme.Sherlock.Light" >

<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>


Existem outras formas de setar o tema, como por exemplo pelo código mas não vou abordar isso neste tutorial, que a finalidade é fazer seu projeto funcionar com action bar =)

Se você quer adicionar menus nessa action bar é só ver alguns exemplos de que estão dentro da pasta samplescomo mostra a Figura 2.

Resultados:

Tela sem action bar:
Imagem
Tela sem action Bar

Tela com action bar, diga se não fica mais legal? =D

Imagem
Tela com action bar

Abaixo link dos projetos caso alguem necessite para dar uma olhada e fico devendo para vocês um vídeo demonstrando tudo o que foi feito neste tutorial. Comentem e compartilhem =)

http://www.4shared.com/rar/Sio0Y-nu/Act ... orial.html

Autor:  Daniel Tibúrcio [ 26 Abr 2013, 13:40 ]
Assunto do Tópico:  Re: [TUTORIAL] Action Bar Sherlock - Como Configurar

Meu projeto library que chamei de AppSherlock ficou com os erros:


Description Resource    Path    Location    Type
R cannot be resolved to a variable  MainActivity.java   /AppSherlock/src/com/example/appsherlock    line 12 Java Problem
R cannot be resolved to a variable  MainActivity.java   /AppSherlock/src/com/example/appsherlock    line 18 Java Problem
 

Autor:  Daniel Tibúrcio [ 29 Abr 2013, 16:51 ]
Assunto do Tópico:  Re: [TUTORIAL] Action Bar Sherlock - Como Configurar

Não teremos apoio neste tutorial?
Tentei umas 10 vezes e sempre cai neste mesmo problema.

Autor:  raphaelframos [ 29 Abr 2013, 17:14 ]
Assunto do Tópico:  Re: [TUTORIAL] Action Bar Sherlock - Como Configurar

Eu faço parecido com Byddu, mas sempre tenho que deletar o pacote de compatibilidade do meu projeto.

Autor:  Daniel Tibúrcio [ 30 Abr 2013, 10:59 ]
Assunto do Tópico:  Re: [TUTORIAL] Action Bar Sherlock - Como Configurar

Falou grego para mim, como fazer isto?

Tive que criar um novo projeto, como fala no tutorial.

Autor:  jonathanrz [ 04 Mai 2013, 15:01 ]
Assunto do Tópico:  Re: [TUTORIAL] Action Bar Sherlock - Como Configurar

Não sabia dessa de marcar o projeto como Library, vou tentar fazer isto segunda.

Mas eu consegui fazer o Action Bar Sherlock funcionar importando o projeto no eclipse e definindo no build path do meu projeto que ele depende do projeto da Action Bar Sherlock.

Autor:  Daniel Tibúrcio [ 15 Mai 2013, 10:36 ]
Assunto do Tópico:  Re: [TUTORIAL] Action Bar Sherlock - Como Configurar

Consegui implantar o ActionBarSherlock, mas aconteceram coisas estranhas:

1) ao gerar o novo APK, dá a mensagem "Conversion to Dalvik format failed with error: 1", que pelas consultas que fiz é porque tenho o mesmo JAR duas vezes no projeto, e realmente tem na mensagem da Console.

Só que eu errei na execução de uma das minhas consultas (stackoverflow) e ao invés de tirar tudo da aba Libraries do Java Path menos o Android 4.2.2, eu excluí foi ele, e agora não consigo mais reincluir.

Alguém tem alguma dica?

Autor:  Daniel Tibúrcio [ 15 Mai 2013, 13:05 ]
Assunto do Tópico:  Re: [TUTORIAL] Action Bar Sherlock - Como Configurar

Me passaram a solução para isto: Java Build Path -> [Aba] Library -> [Butão]Add Library -> Android Classpath Conteiner [next]-> Escolhe o Projeto e pronto.

Autor:  Daniel Tibúrcio [ 15 Mai 2013, 19:20 ]
Assunto do Tópico:  Re: [TUTORIAL] Action Bar Sherlock - Como Configurar

Quanto ao erro da mensagem de Dalvik, só consegui depois de colocar as JARs da pasta Libs de cada projeto na mesma versão.

Como a mais nova é a do meu aplicativo e não da Library, foi esta que usei, depois, é claro, de salvar as anteriores para o caso de dar errado..

Obrigado, amigos.

Autor:  Daniel Tibúrcio [ 04 Jun 2013, 13:29 ]
Assunto do Tópico:  Re: [TUTORIAL] Action Bar Sherlock - Como Configurar

Exportei os projetos para o Android Studio, mas em todos eles ocorre o erro abaixo:

java: cannot find symbol
symbol: class FragmentTransaction
location: package android.support.v4.app

Acontece em diversas outras "locations" também, mas o erro é o mesmo.

Uso o ActionSherlock como library, mas na aplicação base (MInhaAction) também dá o mesmo erro.

Autor:  ByddU [ 10 Jun 2013, 10:00 ]
Assunto do Tópico:  Re: [TUTORIAL] Action Bar Sherlock - Como Configurar

Eu postei um vídeo no youtube ensinando a fazer esse processo, não vou postar agora pois não tenho acesso para procurar.

Autor:  Daniel Tibúrcio [ 18 Jun 2013, 19:05 ]
Assunto do Tópico:  Re: [TUTORIAL] Action Bar Sherlock - Como Configurar

Quando vai postar o vídeo, ByddU?

Autor:  Daniel Tibúrcio [ 31 Jul 2014, 11:41 ]
Assunto do Tópico:  Re: [TUTORIAL] Action Bar Sherlock - Como Configurar

Como substituir o Sherlock pelo Action Bar normal?

Página 1 de 1 Todos os Horários estão como UTC - 2 horas [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/