代码之家  ›  专栏  ›  技术社区  ›  Afshin

调整CoordinatorLayout行为

  •  1
  • Afshin  · 技术社区  · 6 年前

    假设我们有以下布局:

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/main_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <android.support.v7.widget.SearchView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_scrollFlags="scroll|exitUntilCollapsed"/>
        </android.support.design.widget.AppBarLayout>
        <android.support.v7.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
        <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end|bottom"
            android:layout_margin="@dimen/fab_margin"
            app:srcCompat="@android:drawable/ic_dialog_email" />
    
    </android.support.design.widget.CoordinatorLayout>
    

    在此布局中,如果我拖动 SearchView 向上,它将崩溃并消失。但我想知道如何将这种拖拽效应附加到 RecyclerView . 意味着我喜欢把 搜索框 每当我滚动 回收视图 项目向上,但扩展 搜索框 当我滚动时 RecylcerView 项目向下。是否需要为创建自定义行为 搜索框 或者可以通过可用的行为来创建这种效果?

    顺致敬意,

    2 回复  |  直到 6 年前
        1
  •  0
  •   Santanu Sur    6 年前

    使用 折叠工具栏布局 然后把 searchView(搜索视图) 在里面。。。并将 回收视图 用一个 嵌套滚动视图 并添加 app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 改为嵌套滚动视图

    别忘了添加 scrollFlags content_scrim 到正在折叠的工具栏布局。。

    折叠工具栏布局应位于 appBarLayout

    参考请查看此

    https://antonioleiva.com/collapsing-toolbar-layout/

        2
  •  0
  •   Ben P.    6 年前

    唯一需要做的更改是添加 |enterAlways 到您现有的 app:layout_scrollFlags 属性