禁用java的黑暗模式在android应用程序中不起作用

6qftjkof  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(257)

我创建了一个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" />

解决方案:
以下步骤解决了我的问题:
在my build.gradle(应用程序)中更改为:

compileSdkVersion 29

targetSdkVersion 29

将以下行添加到my style.xml中的任何样式:

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

谢谢您

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题