我正在使用 jetpack compose 1.0.0,BottomSheetScaffold 工作正常,但是在我添加了一个功能来使用按钮将主题从浅色更改为深色后,在更改主题后,底部工作表将不会展开。我正在使用 Application 类的属性来处理主题状态。这是一些代码:
使用底部工作表的屏幕,顺便说一句,这是在片段上
MyAppTheme(application.isDark.value) {
val bottomSheetScaffoldState = rememberBottomSheetScaffoldState(
bottomSheetState = BottomSheetState(BottomSheetValue.Collapsed)
)
val coroutineScope = rememberCoroutineScope()
BottomSheetScaffold(
scaffoldState = bottomSheetScaffoldState,
sheetContent = {
HomeBottomSheet(
onCancelClick = {
coroutineScope.launch {
bottomSheetScaffoldState.bottomSheetState.collapse()
}
},
onDoneClick = { text ->
Toast.makeText(requireContext(), text, Toast.LENGTH_LONG)
.show()
}
)
},
sheetPeekHeight = 0.dp
) {
HomeScreen(
darkTheme = application.isDark.value,
darkThemeToggleClick = application::toggleDarkTheme,
onHistoryClick = {
findNavController().navigate(R.id.goToHistory)
},
onAddClick = {
coroutineScope.launch {
bottomSheetScaffoldState.bottomSheetState.expand()
}
}
)
}
}
Run Code Online (Sandbox Code Playgroud)
应用:
class …Run Code Online (Sandbox Code Playgroud) android bottom-sheet android-jetpack-compose android-dark-theme