控件之SearchView使用

来源:互联网 发布:日本动漫哪个好看 知乎 编辑:程序博客网 时间:2024/05/18 15:54

效果图:


1、定义布局:

<!-- res/layout/activityxml -->

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:id="@+id/activity_main"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context="com.james.searchview.MainActivity">    <android.support.v7.widget.Toolbar        android:id="@+id/toolbar"        android:minHeight="?attr/actionBarSize"        android:layout_width="match_parent"        android:layout_height="wrap_content"        app:titleTextColor="@android:color/white"        android:background="?attr/colorPrimary"        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Hello World!" /></LinearLayout>
<!-- res/menu/menu.xml -->

<?xml version="1.0" encoding="utf-8"?><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:orderInCategory="5"        android:title="Search"        android:icon="@mipmap/ic_launcher"        app:showAsAction="ifRoom|collapseActionView"        app:actionViewClass="android.support.v7.widget.SearchView"        /></menu>
activity:

 @Override    public boolean onCreateOptionsMenu(Menu menu) {        MenuInflater inflater = getMenuInflater();        inflater.inflate(R.menu.menu, menu);        MenuItem searchItem = menu.findItem(R.id.action_search);        final SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {            @Override            public boolean onQueryTextSubmit(String query) {                searchView.clearFocus();                return true;            }            @Override            public boolean onQueryTextChange(String newText) {                return false;            }        });        return super.onCreateOptionsMenu(menu);    }

具体代码如下:

package com.james.searchview;import android.os.Bundle;import android.support.v4.view.MenuItemCompat;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.SearchView;import android.support.v7.widget.Toolbar;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);        setSupportActionBar(toolbar);    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        MenuInflater inflater = getMenuInflater();        inflater.inflate(R.menu.menu, menu);        MenuItem searchItem = menu.findItem(R.id.action_search);        final SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {            @Override            public boolean onQueryTextSubmit(String query) {                searchView.clearFocus();                return true;            }            @Override            public boolean onQueryTextChange(String newText) {                return false;            }        });        return super.onCreateOptionsMenu(menu);    }}

参考:https://guides.codepath.com/android/Extended-ActionBar-Guide





1 0
原创粉丝点击