Android Jetpack Compose - 底部 Sheet 轻主题更改后不会扩展
Android Jetpack Compose - Bottom Sheet won't expand after light theme change
我使用的是 jetpack compose 1.0.0 并且 BottomSheetScaffold 工作正常,但是在我添加了一个功能以使用按钮将主题从浅色更改为深色之后,底部 sheet 不会展开我改变主题。我在应用程序 class 上使用 属性 处理主题状态。这是一些代码:
使用底部的屏幕 sheet,顺便说一句,这是在一个片段上
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()
}
}
)
}
}
申请:
class MyApp: Application() {
val isDark = mutableStateOf(false)
fun toggleDarkTheme() {
isDark.value = !isDark.value
}
}
看起来像是初始化的问题bottomSheetScaffoldState
应该是
val scaffoldState = rememberBottomSheetScaffoldState(
bottomSheetState = rememberBottomSheetState(BottomSheetValue.Collapsed)
)
我使用的是 jetpack compose 1.0.0 并且 BottomSheetScaffold 工作正常,但是在我添加了一个功能以使用按钮将主题从浅色更改为深色之后,底部 sheet 不会展开我改变主题。我在应用程序 class 上使用 属性 处理主题状态。这是一些代码:
使用底部的屏幕 sheet,顺便说一句,这是在一个片段上
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()
}
}
)
}
}
申请:
class MyApp: Application() {
val isDark = mutableStateOf(false)
fun toggleDarkTheme() {
isDark.value = !isDark.value
}
}
看起来像是初始化的问题bottomSheetScaffoldState
应该是
val scaffoldState = rememberBottomSheetScaffoldState(
bottomSheetState = rememberBottomSheetState(BottomSheetValue.Collapsed)
)