在我的主页上,我有一个懒散的专栏,其中一个项目是水平寻呼机。在每个水平寻呼机中都有一些页面,我也需要在其中设置懒散栏。错误是不允许在同一方向上使用嵌套滚动。我应该如何实现这个ui?
@Composable
fun Home() {
LazyColumn {
item { }
item { }
item { }
item {
TabRow(selectedTabIndex =) {
}
}
item {
HorizontalPager(count =) { page ->
when {
page == 0 -> {
LazyColumn {
items(list) {
}
}
}
}
}
}
}
}
我创建了一个例子。对我来说,它的工作如预期。请看一看
class ComposeActivity8 : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
ComposeTutorialTheme {
Home()
}
}
}
@Composable
fun VItem(text: String) {
Text(modifier = Modifier.padding(40.dp), text = text)
Divider(color = Color.Black)
}
@Composable
fun HItem(content: @Composable BoxScope.() -> Unit) {
Box {
content()
Divider(
color = Color.Red, modifier = Modifier
.align(Alignment.CenterEnd)
.fillMaxHeight()
.width(1.dp)
)
}
}
@Composable
fun CreateLazyColumn(pos: String, countItem: Int) {
LazyColumn {
items(count = countItem, itemContent = { index ->
VItem("$pos.$index")
})
}
}
@Composable
fun Home() {
LazyColumn {
item { VItem("Vertical item 1") }
item { VItem("Vertical item 2") }
item { VItem("Vertical item 3") }
item { VItem("Vertical item 4") }
item {
LazyRow(modifier = Modifier.height(150.dp)) {
item {
HItem {
CreateLazyColumn("Horizontal item 5.1", 6)
}
}
item {
HItem {
CreateLazyColumn("Horizontal item 5.2", 10)
}
}
item {
HItem {
Text(
modifier = Modifier.padding(40.dp),
text = "Horizontal item 5.3"
)
}
}
item {
HItem {
Text(
modifier = Modifier.padding(40.dp),
text = "Horizontal item 5.4"
)
}
}
item {
HItem {
CreateLazyColumn("Horizontal 5.5", 6)
}
}
item {
HItem {
Text(
modifier = Modifier.padding(40.dp),
text = "Horizontal item 5.6"
)
}
}
item {
HItem {
Text(
modifier = Modifier.padding(40.dp),
text = "Horizontal item 5.7"
)
}
}
item {
HItem {
Text(
modifier = Modifier.padding(40.dp),
text = "Horizontal item 5.8"
)
}
}
}
Divider(color = Color.Black)
}
item { VItem("Vertical item 6") }
item { VItem("Vertical item 7") }
item { VItem("Vertical item 8") }
item { VItem("Vertical item 9") }
item { VItem("Vertical item 10") }
item { VItem("Vertical item 11") }
item { VItem("Vertical item 12") }
}
}
}
视频
问题-向下滚动导致底部工作表滚动,而不是优先滚动LazyColumn (RecyclerView没有这个问题。它被一个嵌套的卷视图包裹着 我刚刚在协调器布局中引入了对Recycler的Compose LazyCol列替换。协调器(作为底部工作表实现)本身可以在窥视和扩展状态之间自由滚动。我的问题是当在LazyCol列中向下拖动项目区域时,底部工作表会拾取滚动而不是LazyCol列。如果我在Lazy
有什么方法可以添加滚动条以添加(已弃用)。Javadoc没有提到任何关于Jetpack撰写中的滚动条的内容。 在Jetpack Compose中有可能做到吗?还是不支持滚动条?
我想通过下面的代码在用xml编写的底部表单对话框中添加lazyColumn: 在撰写视图中将放置lazyCol在。问题是我无法将lazyCol在NestedScrollView中使用,并出现以下错误和应用程序崩溃: 不允许嵌套可沿同一方向滚动的布局,如LazyColumn和Column(Modifier.verticalScroll())。有人对如何解决这个问题有什么想法吗。这是我的lazyCol
上周我更新了Kotlin 1.5,昨天看到谷歌打算让Jetpack成为设计UI的首选选项后,我想做一些测试。 问题是将我的项目更新为静态编程语言1.5,当尝试构建项目时,我得到以下错误: 静态编程语言1.5与Jetpack Compose不兼容吗?在谷歌搜索问题后,我找到了版本,其中提到了Jetpack Compose,但不是以“不兼容”的方式。 你对此有任何答案吗?我应该使用吗?在这种情况下,我
目前在Jetpack Compose中,此代码会抛出一个,因为您无法嵌套两个垂直滚动的Composables: 我不希望网格本身滚动,而只是显示我传递到其中的可组合的固定网格。在 中显示非滚动网格是否有任何解决方法?
我正在尝试通过< code>BottomSheetScaffold为一些自定义实现实现< code>modalBottomSheet。 这是我的 当这个scaffold被某个屏幕调用时,< code>sheetContent()将被替换为屏幕内容。这里我问题是,当< code>bottomSheet()在屏幕上是空的,因此没有高度,底部工作表状态认为它是展开的,而我只是没有将composable放