Por alguna razón, LazyColumn s no se desplaza con un clic del mouse y mueve el gesto. Hasta ahora solo funciona con la rueda del ratón. Para LazyRow s tampoco es posible desplazarse con la rueda del mouse. Parece que la fila perezosa es inútil para Compose para escritorio.
¿Hay alguna posibilidad de habilitar un gesto de hacer clic y mover en LazyRow y LazyColum ? Y si no, ¿es al menos posible habilitar el desplazamiento a través de un LazyRow con la rueda del mouse?
Usé este ejemplo reproducible mínimo para probar el desplazamiento
@Composable @Preview fun App() { var text by remember { mutableStateOf("Hello, World!") } MaterialTheme { LazyRow(modifier = Modifier.fillMaxSize()) { repeat(100) { item { Text("Test Test Test Test $it ") } } } } } fun main() = application { Window(onCloseRequest = ::exitApplication) { App() } }Este es el comportamiento previsto.
Todos los componentes desplazables (incluido LazyColumn ) funcionan (por ahora) solo con eventos de desplazamiento de la rueda del mouse en el escritorio.
Los componentes desplazables no deberían responder a los eventos de arrastrar/mover del mouse.
Aquí hay un ejemplo básico de cómo puede agregar soporte de arrastre a sus componentes:
val scrollState = rememberLazyListState() val coroutineScope = rememberCoroutineScope() LazyRow( state = scrollState, modifier = Modifier .draggable( orientation = Orientation.Horizontal, state = rememberDraggableState { delta -> coroutineScope.launch { scrollState.scrollBy(-delta) } }, ) ) { items(100) { Text("Test Test Test Test $it") } }