列表视图滚动时隐藏搜索栏

Posted

技术标签:

【中文标题】列表视图滚动时隐藏搜索栏【英文标题】:Hide search bar when listview scrolling 【发布时间】:2018-05-16 21:38:57 【问题描述】:

如何在listView中添加搜索栏,使其在Scrolling时隐藏?

这是我的代码 xml:

<LinearLayout 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_
    android:layout_
    android:orientation="vertical">

    <android.support.design.widget.AppBarLayout
        android:layout_
        android:layout_>


    <SearchView
        android:id="@+id/maBtnSearch"
        android:layout_
        android:layout_
        android:layout_gravity="center"
        android:iconifiedByDefault="false"
        android:queryHint="Search User" />

    <ListView
        android:layout_
        android:layout_
        android:id="@+id/listView">
    </ListView>

</LinearLayout>

这是我上面完整的布局代码,谢谢你的帮助

【问题讨论】:

您可以使用 coordinatorlayout 实现此目的。你在用吗?不部分上传您的布局 对您的视图使用正常的可见性更改! 我使用线性布局,这是我的完整代码外观 【参考方案1】:

试试这个。这里 searchview 放在工具栏上。根据您的使用情况更改代码。

 <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:id="@+id/coordinator"
    android:layout_
    android:layout_>

    <android.support.v4.view.ViewPager
        android:background="@drawable/back"
        android:id="@+id/pager_sessions"
        android:layout_
        android:layout_
        app:layout_behavior="@string/appbar_scrolling_view_behavior">
    </android.support.v4.view.ViewPager>

    <android.support.design.widget.AppBarLayout
        android:layout_
        android:id="@+id/search_edit_frame"
        android:layout_>

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar_sessions"
            android:layout_
            android:layout_
            app:layout_scrollFlags="scroll|enterAlways">
            <android.support.v7.widget.SearchView
                android:id="@+id/search_item"
                android:layout_gravity="right"
                android:layout_
                android:layout_>
            </android.support.v7.widget.SearchView>
        </android.support.v7.widget.Toolbar>

        <android.support.design.widget.TabLayout
            app:layout_scrollFlags="scroll|enterAlways"
            android:id="@+id/tab_layout"
            android:layout_
            android:layout_
            app:tabIndicatorColor="@android:color/background_light"
            app:tabSelectedTextColor="@android:color/background_light"
            app:tabTextColor="@android:color/background_light">
        </android.support.design.widget.TabLayout>

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

【讨论】:

以上是关于列表视图滚动时隐藏搜索栏的主要内容,如果未能解决你的问题,请参考以下文章

滚动时更新自定义列表视图失败

搜索控制器处于活动状态时出现表格视图时隐藏的第一行

如何在滚动列表视图上显示/隐藏底部导航视图?

Android隐藏列表视图滚动条?

滚动列表视图时,还显示取消选择的图像

使用表格视图快速搜索控制器滚动