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>
ありがとうございました