SearchView是在

android.support.v7.widget.SearchView
主要用来做页面的搜索,可以用来实现点击搜索按钮在同页面做搜索,从而不跳转到新页面做搜索。
当然以上的功能需求需要具体实现,我在此记录一下实现过程。先看一下效果图(用的云信的demo)
关于android SearchView的使用

关于android SearchView的使用

接下来说一下实现步骤:

在界面上加入搜索按钮,这里用toolbar的onCreateOptionsMenu形式

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/search_btn"
        android:icon="@drawable/action_bar_search_view_icon"
        android:title=""
        app:showAsAction="always"/>
当点击搜索按钮的时候,跳转到有searchview的activity
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    >

    <item
        android:id="@+id/action_search"
        android:icon="@drawable/nim_actionbar_search_dark_icon"
        android:title="@string/search"
        app:showAsAction="collapseActionView"
        app:actionViewClass="android.support.v7.widget.SearchView"/>

</menu>

把该activity的主题设置为:

<!-- 搜索界面主题 -->
<style name="global_search_bg" parent="@style/AppTheme">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowBackground">@color/global_bg</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowAnimationStyle">@style/animation_translucent_translate</item>
</style>
去除activity切换动画
<style name="animation_translucent_translate" parent="@android:style/Animation.Translucent">
    <item name="android:windowEnterAnimation">@null</item>
    <item name="android:windowExitAnimation">@null</item>
    <item name="android:windowShowAnimation">@null</item>
    <item name="android:windowHideAnimation">@null</item>
</style>
这样,一个看似在同一页面的搜索就大致完成了。

相关文章:

  • 2021-06-23
  • 2021-10-13
  • 2021-08-28
  • 2022-12-23
  • 2022-12-23
  • 2021-09-30
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-25
  • 2021-05-13
  • 2021-10-22
  • 2022-12-23
相关资源
相似解决方案