styles.xml не применяется как задумано - PullRequest
0 голосов
/ 10 октября 2019

Итак, я работал над приложением и изменил styles.xml, чтобы он имел собственные colorPrimaryDark, colorPrimary и colorAccent. В некоторых действиях я также добавил android:background="@color/some_color" к их основному макету, чтобы он переопределял стандартный по умолчанию.

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

Что я делаю не так?

Вот некоторые части из моего styles.xml ислучайная активность:

styles.xml:

 <!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:fontFamily">@font/montserrat</item>
</style>

активность:

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimaryDark">

1 Ответ

0 голосов
/ 10 октября 2019

вы просто изменили

@ color / colorPrimaryDark

с

? Attr / colorPrimaryDark

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/colorPrimaryDark">

Вы можете попробовать это для API> = 21

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    getWindow().setStatusBarColor(getResources().getColor(android.R.color.holo_red_dark));
}
...