有没有正确的(有效的)方式使用CustomView LazyColumn里面(有或没有android



有什么问题?

现在我试图在LazyColumn中使用我的自定义Android视图。在我看来,因为每次滚动时都要重新创建自定义视图,所以图片非常滞后. 那么,除了用Compose实现视图之外,还有什么方法可以使它更平滑吗?

我的代码:

LazyColumn {
items(events){ event ->
EventItem(event, callBack)
}
}
@Composable
private fun EventItem(
event: EventOverviewUiModel,
callBack : (EventsAdapterEvent) -> Unit
) {
AndroidView(
modifier = Modifier.fillMaxWidth(),
factory = { context -> EventOverviewView(context) },
update = { view -> view.bind(event) }
)
}

对于遇到同样问题的其他人:

到今天为止,这个问题还没有解决方案。这个问题是谷歌知道的,你可以在这里跟踪问题的解决方案。

如果您需要在撰写世界中使用AndroidView平滑滚动,您有两个解决方案:

  • 你有有限的项目数量:你可以使用一个简单的ColumnverticalScroll和添加你的AndroidView里面;
  • 你有太多的项目:你必须实现一个RecyclerView,并使用它作为AndroidView,而不是AndroidViewLazyColumn

最新更新