Consegui personalizar o plano de fundo, a imagem do logotipo e a cor do texto da barra de ação usando as sugestões
a seguir : Android: Como alterar o ícone "Página inicial" do ActionBar para algo diferente do ícone do aplicativo? Imagem de fundo do ActionBar
cor do texto
ActionBar
A última peça que quero personalizar é a imagem do botão Voltar. É cinza por padrão e eu gostaria que fosse branco. Mudar a cor, especificar um desenho ou simplesmente torná-lo transparente (e adicionar a divisa à minha imagem personalizada do logotipo) funcionaria. Como eu faço isso?
android
android-actionbar
Sunil Gowda
fonte
fonte
setDisplayHomeAsUpEnabled()
deActionBar
. NÃO é especificamente necessário simplesmente "voltar". Isso significa que tocar no ícone do aplicativo "subirá" uma hierarquia, em vez de voltar à atividade anterior (assim como o botão VOLTAR na barra do sistema).Respostas:
O indicador de disponibilidade "up" é fornecido por um drawable especificado no
homeAsUpIndicator
atributo do tema. Para substituí-lo por sua própria versão personalizada, seria algo como isto:Se você suporta o pré-3.0 com seu aplicativo, certifique-se de colocar esta versão do tema personalizado em
values-v11
ou similar.fonte
<item name="android:homeAsUpIndicator">@drawable/my_fancy_up_indicator</item>
não funcionou para mim, mas<item name="homeAsUpIndicator">@drawable/my_fancy_up_indicator</item>
funcionou. Acho que é coisa versão AndroidNavigation Drawer
? Eu acho queActionBarDrawerToggle
substitui o indicador para cima com um dos seus próprios, definindo-o, portanto, em estilo não tem nenhum efeito ...Portanto, você pode alterá-lo programaticamente facilmente usando a função homeAsUpIndicator () adicionada na API do Android nível 18 e superior.
ActionBar().setHomeAsUpIndicator(R.drawable.ic_yourindicator);
Se você usa a biblioteca de suporte
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_yourindicator);
fonte
drawerToggle.setDrawerIndicatorEnabled(false);
antes de mudar o indicadorEu verifiquei a pergunta. Aqui estão os passos que eu sigo. O código fonte está hospedado no GitHub: https://github.com/jiahaoliuliu/sherlockActionBarLab
Substitua o estilo real dos dispositivos anteriores à v11.
Copie e cole o código a seguir no arquivo styles.xml da pasta de valores padrão.
Observe que o pai pode ser alterado para qualquer tema do Sherlock.
Substitua o estilo real dos dispositivos v11 +.
Na mesma pasta em que os valores da pasta estão, crie uma nova pasta chamada values-v11. O Android procurará automaticamente o conteúdo desta pasta para dispositivos com API ou superior.
Crie um novo arquivo chamado styles.xml e cole o código a seguir no arquivo:
Observe que o nome do estilo deve ser o mesmo que o arquivo na pasta de valores padrão e, em vez do item homeAsUpIndicator, é chamado android: homeAsUpIndicator.
O problema do item é que, para dispositivos com API 11 ou superior, a Sherlock Action Bar usa a Barra de Ação padrão que acompanha o Android, cujo nome da chave é android: homeAsUpIndicator. Porém, para os dispositivos com API 10 ou inferior, a Sherlock Action Bar usa sua própria ActionBar, que o indicador home up é chamado de "homeAsUpIndicator" simples.
Use o novo tema no manifesto
Substitua o tema do aplicativo / atividade no arquivo AndroidManifest:
fonte
A alteração do ícone de navegação para trás difere do ActionBar e da Barra de Ferramentas.
Para o
homeAsUpIndicator
atributo de substituição do ActionBar :Para o
navigationIcon
atributo de substituição da barra de ferramentas :fonte
Eu fiz o código abaixo
onCreate()
e trabalhei comigofonte
Se você estiver usando a Barra de Ferramentas, não precisa dessas soluções. Você só precisa alterar o tema da barra de ferramentas
Se você estiver usando um dark.actionBar, o botão Voltar ficará branco; se você estiver usando o tema da barra de ação leve, ele ficará preto.
fonte
bandeja isso:
por dentro
onCreate()
;fonte
Eu usei a imagem back.png no arquivo menifest.xml do projeto. é bom trabalhar no projeto.
fonte
Eu tive o mesmo problema de direção do ícone do botão Início da barra de ação, devido à falta de gerenciamento do ícone no ícone do diretório Gradle Resource
como no diretório de recursos Gradle em árabe, você coloca o ícone em x-hdpi e, em inglês, recurso Gradle, com o mesmo nome que você coloca em uma pasta de densidade diferente como xx-hdpi, para que no APK existam dois nomes de ícones em diretórios diferentes, o dispositivo escolherá o ícone dependente da densidade pode ser RTL ou LTR
fonte