Изменить название приложения Цвет в Android Студия в Kotlin - PullRequest
0 голосов
/ 07 апреля 2020

, как следует из названия, я изо всех сил пытаюсь изменить цвет текста названия моего приложения. Я пробовал разные вещи, которые нашел в Интернете и в stackoverflow, но ни одна из них не сработала. Я использую Kotlin (на всякий случай, если это имеет значение) и Android Studio с минимальным SDK 16. Вот мои стили. xml: (как вы можете видеть, я пробовал 2 разные вещи, которые я нашел в stackoverflow, но они ничего не делать.

<resources>

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

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:textColorPrimary">@color/titleColor</item>
</style>

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light">
    <item name="android:textColorPrimary">@color/titleColor</item>
</style>

Конечно, должен быть простой способ как-то получить доступ к нужному свойству. Я также пытался изменить его программно, но это тоже не сработало и каким-то образом сделал мой код go красный. Как вы, вероятно, можете сказать, я довольно новичок в Android разработке, поэтому я не смог использовать решения, которые работали для приложений, встроенных в Java, хотя я предполагал, что конвертер подойдет для меня ( к сожалению это не так)

Вот мой манифест. xml

<?xml version="1.0" encoding="utf-8"?>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

1 Ответ

0 голосов
/ 07 апреля 2020

Я не проверял это, но я думаю, что вам нужно создать свой собственный стиль ActionBar для использования, и, в свою очередь, вам нужно создать стиль TextAppearance для использования в этом. Таким образом, у вас есть цепочка зависимых стилей, где вы заменяете один компонент родительского в каждом.

<style name="MyTitleTextAppearance" parent="Base.TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">titleColor</item>
</style>

<style name="MyActionBar" parent="Widget.AppCompat.ActionBar.Solid">
    <item name="titleTextStyle">@style/MyTitleTextAppearance</item>
</style>

<style name="AppTheme" parent="Theme.AppCompat">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...