Die Android -Systemleiste auf Modalbottomsheet verbergenAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Die Android -Systemleiste auf Modalbottomsheet verbergen

Post by Anonymous »

Ich implementiere ein benutzerdefiniertes Modal Bottom Sheet in Compose. Jetzt möchte ich die Android-Statusleiste verbergen.

Code: Select all

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun CustomModalBottomSheet(...){  // Arguments for the custom modal bottom sheet
ModalBottomSheet(...){  // Arguments for ModalBottomSheet, content in this block
...
val view = LocalView.current
view.onFocusChangeListener = View.OnFocusChangeListener { v, _ ->
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
v.windowInsetsController?.hide(
android.view.WindowInsets.Type.statusBars()
)
else v.systemUiVisibility = View.SYSTEM_UI_FLAG_FULLSCREEN
}
SideEffect {
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
view.windowInsetsController?.hide(
android.view.WindowInsets.Type.statusBars()
)
else view.systemUiVisibility = View.SYSTEM_UI_FLAG_FULLSCREEN
}
...
}
}
Der Teil des Seiteneffekts -Block funktioniert (wenn das untere Blatt erstellt wird, ist die Statusleiste versteckt), aber es funktioniert nicht, wenn zum Beispiel der Benutzer nach unten wischt, um die Statusleiste anzuzeigen. Dann erscheint die Statusleiste wie erwartet, aber dann verschwindet sie nicht wieder. Es scheint, dass der Zuhörer aus irgendeinem Grund nicht berufen ist. Innerhalb der Hauptaktivität musste ich die Methode von Onwindowfocuschanged für eine ähnliche Situation dort anpassen. Daher nahm ich an, dass die Implementierung eines Hörers für etwas Ähnliches mein Problem lösen würde. Die Methode aus der Hauptaktivität wird nicht auf das Modal Bottom Sheet angewendet (es scheint eine eigene Aktivität/Fröhung/... aber ich weiß nicht, wie ich darauf zugreifen kann).>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post