kotlin Jetpack Compose Desktop:可滚动列/LazyColumn

iq3niunx  于 2023-11-21  发布在  Kotlin
关注(0)|答案(2)|浏览(269)

我正在Jetpack Compose Desktop 1.0.0-beta5版本中创建一个程序,但我不知道如何使Column/LazyColumn可滚动。同时,在我看来,Android文档中列出的许多类都丢失了,无法从它们的示例中工作。

val lazyListState = rememberLazyListState()
val scrollState = rememberScrollState()

LazyColumn(
    state = lazyListState,
    modifier = Modifier.verticalScroll(scrollState)
) {
    items(ArrayList<String>()){ item ->
        Column(modifier = Modifier.padding(8.dp)) {
            Text(item)
        }
    }
}

字符串
此代码当前正在产生错误。
准确地说,所用的空列表在示例中可以看到,但这只是一个调整,实际上我画了很多项。

6tqwzwtp

6tqwzwtp1#

你可以这样实现:

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")
    }
}

字符串

f4t66c6m

f4t66c6m2#

我知道这个问题很老了,但你可以看看Desktop Compoments
Jetpack compose是一个android框架,Compose桌面是Jetpack compose的一个版本,它使用了Skia和Swing

相关问题