Ich versuche, Swipe über die Elemente zu erkennen, die in einem Lazyverticalgrid in Jetpack Compose platziert sind. Der Code sieht wie folgt aus: < /p>
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
SwipeTestsTheme {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
SinglePlayerGameScreen(modifier = Modifier.padding(innerPadding))
}
}
}
}
}
@Composable
fun SinglePlayerGameScreen(modifier: Modifier) {
val configuration = LocalConfiguration.current
val screenWidthDp = configuration.screenWidthDp
val squareSizeDp = screenWidthDp / 10
LazyVerticalGrid(
horizontalArrangement = Arrangement.Center,
verticalArrangement = Arrangement.Top,
columns = GridCells.Fixed(10),
userScrollEnabled = false,
modifier = modifier.pointerInput(Unit) {
detectHorizontalDragGestures { offset, dragAmount ->
Log.d("Swipe Tests","Horizonzal drag $offset $dragAmount")
}
detectVerticalDragGestures { offset, dragAmount ->
Log.d("Swipe Tests","Vertical drag $offset $dragAmount")
}
}
) {
items(100) { index ->
BoardSquare(index, squareSizeDp)
}
}
}
@Composable
fun BoardSquare(index: Int, squareSizeDp: Int) {
Canvas(modifier = Modifier.width(squareSizeDp.dp).height(squareSizeDp.dp)) {
drawRect(color = Color.Blue, style = Stroke(width = 5f))
}
}
< /code>
Ich habe das Scrollen im Raster mit usercollenabled = false deaktiviert. Das Raster ist so erstellt, dass es vollständig in einen einzelnen Bildschirm passt. Wenn ich die DetecthorizontalDraggesture kommentiere, wird der vertikale Swipe erkannt. Wie kann ich dieses Verhalten ändern?
Swipe -Verhalten in Lazyverticalgrid in Jetpack Compose [geschlossen] ⇐ Android
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Wie fange ich an, Elemente für das Zentrum in Lazyverticalgrid zu füllen?
by Anonymous » » in Android - 0 Replies
- 16 Views
-
Last post by Anonymous
-