2

Android アプリケーションを作成し、携帯電話にダウンロードすると、ダーク モードで表示されました。

アプリケーションを常にライトモードにしたいので、次を使用しました。

super.onCreate(savedInstanceState);
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);

しかし、アプリはまだダークモードで表示されていました。

どうすれば完全に無効にできますか?

私のstyles.xmlファイルは次のとおりです。

<style name="CustomActivityTheme" parent="@style/Theme.AppCompat.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="actionBarStyle">@style/MyActionBar</item>
    <item name="android:windowActionBarOverlay">true</item>
    <!-- other activity and action bar styles here -->
</style>

<!-- style for the action bar backgrounds -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
    <item name="android:background">@color/colorGraySearchText</item>
    <item name="background">@color/colorGraySearch</item>
    <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
    <item name="android:subtitleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
    <item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
    <item name="subtitleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
</style>

<!-- Text -->
<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance">
    <item name="android:textColor">@color/colorGraySearchText</item>
    <item name="android:textSize">16dp</item>
</style>

<style name="CustomActivityTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

<style name="CustomActivityTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="CustomActivityTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

解決:

次の手順で問題が解決しました。

私のbuild.gradle(アプリ)を次のように変更します:

compileSdkVersion 29

targetSdkVersion 29

style.xml の任意のスタイルに次の行を追加します。

<item name="android:forceDarkAllowed" tools:targetApi="q">false</item>

ありがとうございました

4

0 に答える 0