Estou testando os novos recursos do Appcompat 21 Material Design. Portanto, criei uma barra de ferramentas como esta:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_my_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar"/>
e incluí no meu arquivo de layout principal.
Então eu o defini como supportActionBar assim:
Toolbar toolBar = (Toolbar)findViewById(R.id.activity_my_toolbar);
setSupportActionBar(toolBar);
Está funcionando, mas de alguma forma não consigo descobrir como personalizar a barra de ferramentas. É cinza e o texto é preto. Como devo mudar a cor do fundo e do texto?
Eu segui estas instruções:
http://android-developers.blogspot.de/2014/10/appcompat-v21-material-design-for-pre.html
O que eu supervisionei para mudar as cores?
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:windowActionBar" tools:ignore="NewApi">false</item>
<item name="windowActionBar">false</item>
</style>
EDITAR :
Consegui mudar a cor do plano de fundo adicionando estas linhas de código ao tema:
<item name="colorPrimary">@color/actionbar</item>
<item name="colorPrimaryDark">@color/actionbar_dark</item>
Mas eles não afetarão a cor do texto. o que estou perdendo? Em vez do texto preto e do botão de menu preto, prefiro um texto branco e botões de menu brancos:
fonte
Respostas:
novamente, isso está tudo no link que você forneceu
para mudar o texto para branco, tudo o que você precisa fazer é mudar o tema.
use este tema
fonte
AppCompatActivity
vez deActivity
.ATUALIZAÇÃO 11/12/2019: Biblioteca de Componentes de Materiais
Com os componentes de materiais e bibliotecas Androidx, você pode usar:
o
android:background
atributo no layout:aplique o estilo padrão:
style="@style/Widget.MaterialComponents.Toolbar.Primary"
ou personalize o estilo herdado dele:substitua a cor padrão usando o
android:theme
atributo:com:
ANTIGO: Bibliotecas de suporte:
você pode usar um
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
tema conforme sugerido em outras respostas, mas também pode usar uma solução como esta:E você pode ter o controle total dos elementos da interface do usuário com estes estilos:
fonte
Ei, se você deseja aplicar o tema Material apenas para o Android 5.0, então você pode adicionar este tema nele
Aqui, a linha abaixo é responsável pela cor do texto da Actionbar do Material design.
fonte
Você pode definir uma cor de item da barra de ferramentas personalizada de forma dinâmica, criando uma classe de barra de ferramentas personalizada:
em seguida, consulte-o em seu arquivo de layout. Agora você pode definir uma cor personalizada usando
Fontes:
Encontrei as informações para fazer isso aqui: Como alterar dinamicamente a cor dos ícones da Barra de Ferramentas Android
e então eu editei, melhorei e postei aqui: GitHub: AndroidDynamicToolbarItemColor
fonte
Isso é conhecido como DarkActionBar, o que significa que você deve usar o seguinte tema para obter o estilo desejado:
fonte
Você pode alterar a cor do texto na barra de ferramentas com estes:
fonte
Consiga isso usando o
toolbar
seguinte:fonte
Tente isso em seu styles.xml:
colorPrimary será a cor da barra de ferramentas.
A propósito, você construiu isso no Eclipse?
fonte
Resolvi este problema depois de mais estudos ...
para Api21 e mais, use
para versões inferiores, use
fonte
Se você quiser alterar a cor da barra de ferramentas em todo o aplicativo, aproveite o styles.xml. Em geral, evito alterar os componentes da interface do usuário em meu código java, a menos que esteja tentando fazer algo programaticamente. Se este for um conjunto único, você deve fazer isso em xml para deixar seu código mais limpo. Aqui está a aparência do seu styles.xml:
Certifique-se de usar o estilo acima em seu AndroidManifext.xml como tal:
Eu queria cores de barra de ferramentas diferentes para atividades diferentes. Então, aproveitei estilos novamente como este:
novamente, aplique os estilos a cada atividade em seu AndroidManifest.xml como:
fonte
Para pessoas que usam AppCompatActivity com Toolbar como plano de fundo branco. Use este código.
Atualizado: dezembro de 2017
fonte