相关疑难解决方法(0)

LazyColumn 可以与 CoordinatorLayout 一起使用吗?

我正在将应用程序迁移到 Jetpack Compose,并且在查看/撰写混合屏幕上遇到以下情况:

  • 布局根元素是一个 CoordinatorLayout,它有一个可折叠的顶栏。
  • 内容是 FragmentViewPager,其中一个页面是我要迁移到 Compose 的 Fragment。
  • 当我在此片段内滚动 LazyColumn 时,顶部栏不会折叠/展开。

我的问题是:我可以做一些事情让两个部分一起工作吗?即:当我滚动 LazyColumn 时,包含它的 CoordinatorLayout 将使其顶部栏折叠/展开。

android coordinator-layout android-jetpack-compose

7
推荐指数
1
解决办法
1267
查看次数

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

我将 Compose 与现有片段一起使用。我在 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>
Run Code Online (Sandbox Code Playgroud)

在 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 …
Run Code Online (Sandbox Code Playgroud)

android android-collapsingtoolbarlayout android-jetpack-compose

5
推荐指数
2
解决办法
219
查看次数

Compose 中的折叠工具栏带有粘性按钮

我正在尝试实现 CollapsingToolbar,Compose但我通过互联网找到的示例无法满足我的需求。我曾经使用 xml 并且相同的布局是:

-AppBarLayout
  -CollapsingToolbarLayout
    -ConstraintLayout
      -ImageView(parallax, centerCrop)
      -Toolbar
-NestedScrollView
-FloatingButton (anchorGravity="bottom|end")
-Button(sticky)
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多事情,但困难的是拥有FloatingButton(可以是任何其他视图,而不是特别的FAB)。

演示:

在此输入图像描述

我做的效果parallax如下:

Box(
   modifier = Modifier.graphicsLayer { 
        translationy = -scroll.value.toFloat() / 2f
        alpha = (-1f / headerHeightPx) * scroll.value + 1
   }
) { Image... }

Run Code Online (Sandbox Code Playgroud)

我还找到了,Compose Collapsing Toolbar library但如果可能的话,我宁愿不使用任何库。

我已经看到有一个 Material3 有一个TopAppBar,也许它会起作用。

更新

我也尝试过该Material3库,但没有按预期工作,因为我的行为打破了它应有的样子。

我的想法是创建一个Boxor 因为我想要高程 aSurface并在其上包含在Icon和 theImage以及 center内Box

我创建了一个简单的图像来描述我的想法,也许这是一个很好的开始方式。 …

android kotlin android-jetpack android-jetpack-compose

5
推荐指数
1
解决办法
1461
查看次数