Android顶部搜索框怎么实现

avatar
作者
筋斗云
阅读量:2

要实现Android顶部搜索框,可以使用Toolbar和SearchView组件。

首先,在你的布局文件中添加一个Toolbar组件作为顶部导航栏:

<android.support.v7.widget.Toolbar     android:id="@+id/toolbar"     android:layout_width="match_parent"     android:layout_height="?attr/actionBarSize"     android:background="@color/colorPrimary"     android:elevation="4dp"     android:theme="@style/ThemeOverlay.AppCompat.ActionBar" /> 

然后,在你的Activity中找到Toolbar并设置为ActionBar:

Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); 

接下来,在 onCreateOptionsMenu 方法中加载菜单文件,并设置搜索框的监听器:

@Override public boolean onCreateOptionsMenu(Menu menu) {     getMenuInflater().inflate(R.menu.menu_main, menu);      SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);     SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();     searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));     searchView.setMaxWidth(Integer.MAX_VALUE);      searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {         @Override         public boolean onQueryTextSubmit(String query) {             // 处理搜索提交事件             return false;         }          @Override         public boolean onQueryTextChange(String newText) {             // 处理搜索文本变化事件             return false;         }     });      return true; } 

最后,在菜单文件中定义搜索框的样式和行为:

<menu xmlns:android="http://schemas.android.com/apk/res/android">     <item         android:id="@+id/action_search"         android:title="Search"         android:icon="@drawable/ic_search"         android:showAsAction="ifRoom|collapseActionView"         android:actionViewClass="android.support.v7.widget.SearchView" /> </menu> 

这样,你就可以在Android顶部导航栏中实现一个搜索框了。你可以根据需要进一步进行自定义和调整。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!