Цвет текста на панели инструментов не изменится

Я пытаюсь изменить цвет текста на панели инструментов на белый, но цвет не изменится.

Что я пробовал:

1- Замена app:theme=app:theme = "@style/ThemeOverlay.AppCompat.Dark.ActionBar"

2- пытаюсь сделать это программно: toolbar.setTitleTextColor(0xFFFFFFFF);

3- Последний код, указанный под:

Пользовательский стиль: ToolBarstyle:

Res / style

  <style name = "ToolBarStyle" parent = "Theme.AppCompat">
        <item name = "android:textColorPrimary">@android:color/white</item>
        <item name = "android:textColorSecondary">@android:color/white</item>
        <item name = "actionMenuTextColor">@android:color/white</item>
        <item name = "drawerArrowStyle">@style/DrawerArrowStyle</item>
    </style>

Res / Layout

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

Файл Java:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    /* Toolbar */
    getSupportActionBar().setTitle("Nostrils");
    toolbar.setTitleTextColor(0xFFFFFFFF);
    // Back icon
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    initNavigationDrawer();
}

Фото с эмулятора:
https://i.imgur.com/zkp24dK.png

Конечно же, Theme.AppCompat - Тёмный! Проверьте мой ответ. Нет необходимости делать это на стороне Java.

ʍѳђઽ૯ท 10.08.2018 20:28
1
1
455
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Для набора панелей инструментов:

app:titleTextColor = "@android:color/white"

или в наборе тем вашего приложения:

<item name = "android:textColorPrimary">@android:color/white</item>

Измените панель инструментов на

 <?xml version = "1.0" encoding = "utf-8"?>
     <android.support.v7.widget.Toolbar
       xmlns:android = "http://schemas.android.com/apk/res/android"
       android:layout_width = "match_parent"
       xmlns:app = "http://schemas.android.com/apk/res-auto"
       android:layout_height = "?attr/actionBarSize"
       android:background = "@color/colorPrimaryDark"
       app:popupTheme = "@style/AppTheme.PopupOverlay"
       android:id = "@+id/toolbar">

        <TextView
           android:layout_width = "match_parent"
           android:layout_height = "wrap_content"
           android:layout_gravity = "start"
           android:textSize = "16dp"
           android:textStyle = "bold"
           android:maxLines = "1"
           android:ellipsize = "end"
           android:textColor = "@color/white"
           android:layout_marginRight = "?attr/actionBarSize"
           android:gravity = "center"
           android:id = "@+id/welcome_textView"/>

     </android.support.v7.widget.Toolbar>

Доступ к этому TextView

    Toolbar toolbar = (Toolbar) view.findViewById(R.id.toolbar);
    TextView textToolHeader = (TextView) toolbar.findViewById(R.id.welcome_textView);

    textToolHeader.setTextColor(getResources().getColor(R.color.your_color));

https://stackoverflow.com/a/25162981/4409113

Theme.AppCompat is visually the same as Theme.Holo (dark)

Итак, просто смените родителя:

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

К:

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

Потому что у вас уже есть Toolbar в вашем макете, и эта тема сделает цвет белым.

Ответ принят как подходящий

Спасибо за ответ, но со своей стороны, если панель инструментов сворачивается, я добавил этот код (и он сработал):

app:collapsedTitleTextAppearance = "@style/CollapsedAppBar"
        app:expandedTitleTextAppearance = "@style/ExpandedAppBar"

к :

<android.support.design.widget.CollapsingToolbarLayout

с:

   <style name = "ExpandedAppBar" parent = "@android:style/TextAppearance">
        <item name = "android:textSize">24sp</item>
        <item name = "android:textColor">@android:color/white</item>
    </style>

    <style name = "CollapsedAppBar" parent = "@android:style/TextAppearance">
        <item name = "android:textColor">@android:color/white</item>
    </style>

Другие вопросы по теме