Изменение цвета текста на панели приложений без изменения цвета текста в остальной части приложения - PullRequest
0 голосов
/ 05 июля 2019

Я хотел бы установить цвет текста на панели приложения на белый и оставить текст в остальной части моего приложения в качестве черного цвета по умолчанию.

Установка android:textColorPrimary на белый цвет делает текст панели приложения белым, а также делает текст в раскрывающихся списках и фрагментах диалогового окна календаря белым.

Как сделать текст на панели приложения белым, не меняя цвет текста в раскрывающихся списках и фрагментах диалогового окна календаря?

Ответы [ 3 ]

1 голос
/ 05 июля 2019

Я бы посоветовал вам вручную добавить панель инструментов в свою деятельность и включить в нее TextView-

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/text_view"
            android:layout_width="match_parent"
            android:text="App Title"
            android:textColor="@colors/colorBlack"/>

    </androidx.appcompat.widget.Toolbar>

Возможно, вам также потребуется установить родительскую тему на

Theme.AppCompat.Light.NoActionBar

0 голосов
/ 05 июля 2019

В вашем файле styles.xml добавьте:

<style name="ToolbarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar">
    <!-- Customize color of navigation drawer icon and back arrow -->
    <item name="colorControlNormal">#fff</item>
</style>

Затем в свой файл макета добавьте пользовательскую панель инструментов:

<android.support.design.widget.AppBarLayout
    android:id="@+id/appBarLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <android.support.v7.widget.Toolbar
        android:id="@+id/anyId"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/colorPrimary"
        app:title="Yor title here"
        app:titleTextColor="#fff"
        android:theme="@style/ToolbarTheme"
        app:layout_scrollFlags="scroll|enterAlways"/>

</android.support.design.widget.AppBarLayout>
0 голосов
/ 05 июля 2019

Вы можете попробовать это сделать цвет текста по умолчанию белым на панели приложения:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        ...
        <item name="actionBarStyle">@style/CustomActionBar</item>
    </style>

    <style name="CustomActionBar" parent="@style/Widget.AppCompat.ActionBar">
        <item name="titleTextStyle">@style/CustomTextAppearance</item>
    </style>

    <style name="CustomTextAppearance" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">#FFFFFF</item>
    </style>

    ...

</resources>
...