协调器布局内的SearchView

问题描述 投票:0回答:3

我怎样才能实现以下布局设计,在向上滚动时我只需使用 searchview 获得视图:

1 ----

2------向上滚动:

我尝试将视图放在布局中的某些位置,但搜索视图始终位于最顶部区域,而不是主页徽标下方,甚至不可见。

我当前没有任何搜索视图的布局是:

<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#CFD8DC"
android:fitsSystemWindows="true"
tools:context="com.example.svatts.my22.ScrollingActivity">

<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar"
    android:layout_width="match_parent"
    android:layout_height="@dimen/app_bar_height"
    android:fitsSystemWindows="true"
    android:theme="@style/AppTheme.AppBarOverlay">


    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/toolbar_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="?android:attr/colorPrimary"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="56dp"
                app:layout_collapseMode="pin"

                app:popupTheme="@style/AppTheme.PopupOverlay">

            </android.support.v7.widget.Toolbar>


    </android.support.design.widget.CollapsingToolbarLayout>

  </android.support.design.widget.AppBarLayout>

  <include layout="@layout/content_scrolling" />

</android.support.design.widget.CoordinatorLayout>
android layout android-coordinatorlayout
3个回答
1
投票

将整个工具栏更改为以下内容并注意这一行:

app:layout_scrollFlags="scroll|enterAlways|snap"



<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|enterAlways|snap">

然后在工具栏下添加可滚动的 tabMode 视图,如下所示:

<your.search.layout
        android:id="@+id/your_search_layout_id"
        android:layout_width="match_parent"
        android:layout_height="your_height"
        app:tabMode="scrollable"/>

并将以下布局添加到您想要使用选项卡栏滚动的 content_scrolling

app:layout_behavior="@string/appbar_scrolling_view_behavior" 

工作示例

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|enterAlways|snap">

    </android.support.v7.widget.Toolbar>

    <android.support.design.widget.TabLayout
        android:id="@+id/tab_layout_main"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabMode="scrollable"/>
</android.support.design.widget.AppBarLayout>


<android.support.v4.view.ViewPager
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

0
投票

您可以将 NestedScrollViewAppBarLayout 一起用于此目的。为了获得更好的兼容性,请使用 EditText 而不是 SearchView

更多信息这里


0
投票

感谢您的帮助,我根据需要修改并使用它。

© www.soinside.com 2019 - 2024. All rights reserved.