【问题标题】:How to make layout from appbarlayout scrollable?如何使 appbarlayout 的布局可滚动?
【发布时间】:2021-03-25 18:32:56
【问题描述】:

我在 appbar 内有一个 500dp 的 imageview(或者您可以说 appbarlayout 内的布局覆盖面积为 500dp)。 下面我有一个 recyclerview 显示一些项目(在 collapsingtoolbar 之外)。在较小的设备上,应用栏覆盖整个屏幕,因此我无法正确滚动。我可以知道一种通过触摸 appbar layout/imageview 向下滚动以显示 recyclerview 的方法吗?

    <androidx.coordinatorlayout.widget.CoordinatorLayout
            android:id="@+id/coordinatorLayout2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/view_background_dark"
            android:fitsSystemWindows="true">

            <com.google.android.material.appbar.AppBarLayout
                android:id="@+id/app_bar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

               <com.multilinecollapsingtoolbar.CollapsingToolbarLayout
                    android:id="@+id/toolbar_layout"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@color/view_background_dark"
                    app:collapsedTitleGravity="left"
                    app:collapsedTitleTextAppearance="@style/Toolbar.CollapsedTitleText"
                    app:contentScrim="@color/view_background_dark"
                    app:defaultParallaxMultiplier="0.75"
                    app:expandedTitleGravity="center_horizontal|bottom"
                    app:expandedTitleMarginBottom="120dp"
                    app:expandedTitleTextAppearance="@style/Toolbar.TitleText"
                    app:layout_scrollFlags="scroll|exitUntilCollapsed"
                    app:maxLines="2"
                    app:toolbarId="@+id/toolbar1">

                     <ImageView
                        android:id="@+id/player_min_max_btn"
                        android:layout_width="match_parent"
                        android:layout_height="500dp"
                        android:layout_gravity="right"
                        android:layout_marginTop="30dp"
                        android:layout_marginRight="@dimen/page_left_right_margin_half"
                        app:layout_collapseMode="parallax"
                        />
 </com.multilinecollapsingtoolbar.CollapsingToolbarLayout>
 </com.google.android.material.appbar.AppBarLayout>
 <androidx.recyclerview.widget.RecyclerView
                android:id="@+id/rv_next_in_queue"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/rl_queue_header"
                android:background="@color/view_background_dark"
      app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

【问题讨论】:

    标签: android scroll android-coordinatorlayout android-appbarlayout


    【解决方案1】:

    将两个布局都包含在 NestedScrollView 中,类似这样。

     <androidx.core.widget.NestedScrollView
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
    
                <com.google.android.material.appbar.AppBarLayout
                 <!-- AppBar code-->
                </com.google.android.material.appbar.AppBarLayout>
                <androidx.recyclerview.widget.RecyclerView
                 <!-- Recyclerview Code-->
                 </androidx.recyclerview.widget.RecyclerView>
       
    </androidx.core.widget.NestedScrollView>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多