ModalNavigationDrawer приводит к тому, что событие щелчка IconButton становится недействительнымJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 ModalNavigationDrawer приводит к тому, что событие щелчка IconButton становится недействительным

Сообщение Anonymous »

Код: Выделить всё

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun MineView(authViewModel: AuthViewModel = viewModel()) {

val drawerState = rememberDrawerState(initialValue = DrawerValue.Closed)

val scope = rememberCoroutineScope()

val navController = LocalNavigation.current

Scaffold(
topBar = {
TopAppBar(
colors = TopAppBarDefaults.topAppBarColors(
containerColor = MaterialTheme.colorScheme.primaryContainer
),
title = { Text(text = "我的") },
actions = {
IconButton(onClick = { scope.launch { drawerState.open() } }) {
Icon(
imageVector = Icons.Filled.Menu,
contentDescription = "菜单"
)
}
},
)
},
) { innerPadding ->
Column(
modifier = Modifier
.fillMaxSize()
.padding(innerPadding)
) {
Text(text = "Mine")
}
}

showBottomBar.value = !drawerState.isOpen

CompositionLocalProvider(LocalLayoutDirection provides LayoutDirection.Rtl) {
ModalNavigationDrawer(
drawerState = drawerState,
drawerContent = {
ModalDrawerSheet(modifier = Modifier.width(200.dp)) {
Column(
modifier = Modifier.fillMaxWidth(),
horizontalAlignment = Alignment.CenterHorizontally
) {
Spacer(modifier = Modifier.weight(1f))
// 将退出登录按钮放置在底部中间
Button(
onClick = {
authViewModel.logout()
scope.launch {
drawerState.close()
}
navController.navigate(RouterEnums.HOME.router)
},
modifier = Modifier.padding(bottom = 20.dp)
) {
Text(text = "退出登录")
}
}
}
},
) {}
}
}
IconButton onClick в TopAppBar не вступает в силу.
Он вступит в силу после перемещения ModalNavigationDrawer в содержимое Scaffold, но ящик будет находиться под topBar.
Я не могу сделать ModalNavigationDrawer над topBar и в то же время заставить событие щелчка iconButton в topBar вступить в силу.
пожалуйста, помогите мне, спасибо.


Подробнее здесь: https://stackoverflow.com/questions/781 ... be-invalid
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»