2017-01-07 7 views
0

У меня есть этот код в моей деятельности:Невозможно текст Toolbar цвет текста

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
setSupportActionBar(toolbar); 
setTitle("My title"); 

В styles.xml, у меня есть это:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    //more stuff 
</style> 

<style name="Toolbar" parent="Theme.AppCompat"> 
    <item name="android:textAppearance">@style/Toolbar.Text</item> 
</style> 

<style name="Toolbar.Text"> 
    <item name="android:textColor">@android:color/white</item> 
</style> 

и панель инструментов макета:

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    app:layout_collapseMode="pin" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
    app:theme="@style/Toolbar" /> 

Я хочу, чтобы текст панели инструментов был белым, но он черный. Я пробовал много вещей, но я действительно не могу его изменить.

+0

'приложение: titleTextColor' или' toolbar.setTitleTextColor' не помогает? –

+0

Это не работает ... –

ответ

-1

вы можете использовать SDK менее чем 23 вы можете попробовать это

В XML: -

android:titleTextColor="@color/colorPrimary" 

В фрагменте

toolbar.setTitleTextColor(Color.RED); 
+0

Я использую SDK 24 –

+0

Теперь попробуйте ответить выше –

+0

Мне нужно сделать это по XML .. –

0

Используйте редактор для этого. Откройте редактор инструментов -> android->. Там вы можете найти вариант для изменения цветов.

+0

Мне удалось изменить цвет текста, изменив textColorPrimary в главном стиле приложения, но он также изменит весь текст в других компонентах. Я просто хочу его на панели инструментов –

+0

Может быть [это] (http://stackoverflow.com/questions/26969424/how-to-set-toolbar-text-and-back-arrow-color) поможет вам. – Simo

+0

, а также, возможно, вы также установили textColorPrimery для других текстов и, следовательно, результат. – Simo

0

бы то ни было, вопрос пришел от этой линии:

<style name="Toolbar" parent="Theme.AppCompat"> 

И это: app:theme="@style/Toolbar" (Вы использовали app вместо android, будьте осторожны, что)

И вы не» Мне действительно нужно это сделать.


Просто используйте эту линию для Toolbar:

android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 

Итак:

<android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
       app:layout_scrollFlags="scroll|enterAlways" 
       app:popupTheme="@style/AppTheme" /> 

Тогда вы должны увидеть белый текст и т.д.

Как вы можете видеть , Я установил app:popupTheme на AppTheme которой параметр:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 

После добавления этой строки в Toolbar, теперь вы можете удалить эти:

<style name="Toolbar" parent="Theme.AppCompat"> 
    <item name="android:textAppearance">@style/Toolbar.Text</item> 
</style> 

<style name="Toolbar.Text"> 
    <item name="android:textColor">@android:color/white</item> 
</style> 

Тогда единственное, что вы должны сделать, это установка родителя app:popupTheme к этому:

Theme.AppCompat.Light.NoActionBar 

Какой из них может быть вашим родителем Activity.

Вот это :)