Как включить жест смахивания для открытия модалнавигационного ростера при использовании полноэкранного HorizontalPager вAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как включить жест смахивания для открытия модалнавигационного ростера при использовании полноэкранного HorizontalPager в

Сообщение Anonymous »

Я использую JetPack Compose, и я пытаюсь включить открытие модалнавигационного пласта через жест (слева направо), аналогичный тому, как это делает Twitter. У меня есть HorizontalPager, который занимает весь экран, и, хотя я могу открыть ящик, постучав по значке в верхней панели и сбиваясь с него, смахивание изнутри HorizontalPgeer не запускает ящик для открытия.
Я ожидаю, что ModalnavigationDrawer откроется при проведении слева направо на первой странице (index = 0) HorizontalPager, в то же время позволяя горизонтальным ударам между страницами на других страницах. < /p>
Мой код является следующим: < /p>

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun TestNavigationDrawer() {
val drawerState = rememberDrawerState(DrawerValue.Closed)
val pagerState = rememberPagerState(initialPage = 0) { 2 }
val scope = rememberCoroutineScope()

ModalNavigationDrawer(
drawerState = drawerState,
drawerContent = {
Column(
Modifier.fillMaxSize().padding(end = 64.dp)
.background(MaterialTheme.colorScheme.surface)
.systemBarsPadding().systemBarsPadding()
) {
Text("Navigation Drawer")
}
}
) {

Scaffold(topBar = {
CenterAlignedTopAppBar(
title = { Text("Top bar") },
navigationIcon = {
IconButton(onClick = {
scope.launch {
drawerState.open()
}
}
) {
Icon(imageVector = Icons.Default.Info, contentDescription = null)
}
})
}) { innerPadding ->
Box(modifier = Modifier.fillMaxSize().padding(innerPadding)) {
HorizontalPager(modifier = Modifier.fillMaxSize(), state = pagerState) { page ->
when (page) {
0 -> Text("Page 0")
1 -> Text("Page 1")
}
}
}
}
}
}

< /code>
Это GIF с текущим поведением моего кода. Я могу открыть ящик, нажав на значок и пройдя с верхней панели. /Kxlczdgy.gif " /> < /p>

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

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

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

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

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

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

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