簡體   English   中英

使用 Android 12 在 OnePlus 手機上強制應用小部件的淺色主題

[英]Force app widget's light theme on OnePlus phone with Android 12

我在使用 Android 12(使用 OnePlus 啟動器)在 OnePlus 9 手機上強制主屏幕應用程序小部件的淺色主題時遇到問題。 我的小部件的主題繼承自Theme.MaterialComponents.Light並且在 Android 11 及以下時亮起,即使手機處於黑暗模式。

問題出在 Android 12,當手機處於深色模式時,小部件的背景總是很暗。 當我設置純白色背景時,它幾乎是黑色的。 純紅色是深紅色,純綠色是深綠色,等等。看起來系統中的某些東西正在為背景着色Theme.Material3.Light@android:style/Theme.DeviceDefault主題也是如此。

在模擬器中,純 Android 一切正常,所以這看起來像是 OnePlus 問題。 任何想法可能是錯誤的以及如何解決這個問題?

轉到您的主題文件並將以下行放入您用於應用程序的樣式中。

<item name="android:forceDarkAllowed">false</item>

您可以創建一個擴展 Application() 的應用程序 Class 並將以下代碼放在 OnCreate() 中,如下所示

    class YourApplicationClass : Application(){
    override fun onCreate() {
        super.onCreate()
        AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
    }
}

然后在你的清單文件中添加這個應用程序 class 像這樣

<application
        android:name=".base.YourApplicationClass" 
        ...
       />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM