簡體   English   中英

Jetpack Compose 狀態欄顏色未在深色主題中更新

[英]Jetpack Compose status bar color not updated in Dark Theme

我想為深色主題和淺色主題設置不同的顏色。 除了狀態欄顏色外,一切正常。

在深色主題中 -> 我的狀態欄顏色未更新。

我的主題:

private val DarkColorPalette = darkColors(
    primary = Color.Black,
    primaryVariant = Color.Black,
    secondary = Color.LightGray
)

private val LightColorPalette = lightColors(
    primary = Purple500,
    primaryVariant = Purple700,
    secondary = Teal200
)

我在黑暗主題中的輸出:

在此處輸入圖片說明

編輯:

我已經看到了這個答案 - 如何在 jetpack compose 中更改狀態欄顏色?

他們建議使用圖書館。 我不想使用任何 3rd 方庫。

編輯2:

我的清單文件

   <activity
        android:name=".ActivityTextStyles"
        android:exported="true"
        android:label="@string/app_name"
        android:theme="@style/Theme.ComposeText.NoActionBar" />

我能夠在 onCreate() 中使用這一行代碼設置狀態欄顏色

  this.window.statusBarColor = ContextCompat.getColor(this,R.color.black)

我的代碼:

    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContent {
      
            this.window.statusBarColor = ContextCompat.getColor(this,R.color.black)
            //your composables
         }
     }

當我遇到同樣的問題並決定更深入地尋找原因時,這是我發現的。

事實證明,我的 Compose 項目開箱即用地res/values 中themes.xml文件讀取狀態欄顏色的 該值是使用colorPrimaryVariant設置的,將該值更新為更新狀態欄顏色的新顏色。

總的來說,我建議將 themes.xml 和 colors.xml 的值更新為您希望用於項目的自定義顏色。

暫無
暫無

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

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