Я пытаюсь изменить цвет текста на панели инструментов на белый, но цвет не изменится.
Что я пробовал:
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
Для набора панелей инструментов:
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.AppCompatis 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>
Конечно же,
Theme.AppCompat- Тёмный! Проверьте мой ответ. Нет необходимости делать это на стороне Java.