Wie reagiere ich auf Änderungen im Desktop -Systemthema in KMP, um das Farbschema zu ändern?Android

Forum für diejenigen, die für Android programmieren
Anonymous
 Wie reagiere ich auf Änderungen im Desktop -Systemthema in KMP, um das Farbschema zu ändern?

Post by Anonymous »

Ich arbeite an einer Kotlin -App -App mit Multiplattform für Ziele Android, iOS und Desktop (macOS, Linux und Windows mit JVM). In meiner App.KT stelle ich das Farbschema in der App basierend auf dem Systemthema, wobei helle und dunkle Farbschemata entsprechend verwendet wird. Sowohl Android als auch iOS arbeiten wie erwartet. In Windows und MacOS (ich nehme auch Linux an, aber ich konnte es nicht testen) funktioniert für das Systemthema, das das Gerät auf dem App -Start hatte, aber es ändert sich nicht, wenn sich die Systemkonfiguration ändert, was bedeutet, dass die App neu gestartet werden muss, um auf diese Änderung zu reagieren. Wie kann ich damit umgehen? Ich habe einige JVMARGs hinzugefügt, um mich an das Systemthema anzupassen, aber es ändert nur die obere Balken des Fensters der App, nicht das Schema der App selbst. < /P>

Code: Select all

compose.desktop {
...
application {
...
nativeDistributions {
...
jvmArgs("-Dapple.awt.application.appearance=system")
}
}
}
< /code>
@Composable
fun App() {
val isDarkTheme = isSystemInDarkTheme()

MaterialTheme(
colorScheme = if(isDarkTheme) darkColorScheme() else lightColorScheme(),
typography = sampleTypography(),
) {
AppContent()
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post