gpt4 book ai didi

Android Compose - 将传统 View 与 ComposeView 结合使用

转载 作者:行者123 更新时间:2023-12-04 11:33:22 30 4
gpt4 key购买 nike

我将 Compose 与现有 fragment 一起使用。我在xml中的结构

<CoordinatorLayout>
<AppBarLayout>
<CollapsingToolbarLayout>
<ImageView />
<MaterialToolbar />
</CollapsingToolbarLayout>
</AppBarLayout>

<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<androidx.compose.ui.platform.ComposeView
android:id="@+id/composeContent"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.core.widget.NestedScrollView>
</CoordinatorLayout>
在 ComposeView 中,我使用 LazyColum,它与日志一起崩溃
java.lang.IllegalStateException: Nesting scrollable in the same direction layouts like ScrollableContainer and LazyColumn is not allowed. If you want to add a header before the list of items please take a look on LazyColumn component which has a DSL api which allows to first add a header via item() function and then the list of items via items().
我认为该错误的原因是 LazyColum (可滚动)放在其他可滚动(NestedScrollView)中。但是如果我删除 NestedScrollView,它看起来像
<androidx.compose.ui.platform.ComposeView
android:id="@+id/composeContent"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
当我在 LazyColumn 中滚动列表时,CollapsingToolbarLayout 没有滚动。那是下一个错误。
如何解决?
请帮我。谢谢。

最佳答案

我认为这是一个问题,所以我打开了一个。
https://issuetracker.google.com/issues/199693522
事实证明这不是问题。
根据撰写团队的回复,LazyColumn 看起来有一个非无限的高度。通过不给您的 LazyColumn 一个固定的高度并使您的 ComposeView 的高度 match_parent (这是无限的,因为 ScrollView 的高度是无限的),LazyColumn 无法工作,因为它现在具有无限的高度。

关于Android Compose - 将传统 View 与 ComposeView 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67681917/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com