转载请标明出处: http://blog.csdn.net/airsaid/article/details/51087226
本文出自:周游的博客

  • SearchView简介
  • SearchView属性
  • SearchView使用

SearchView简介

SearchView是Android原生的搜索框控件,它提供了一个用户界面,用于用户搜索查询。
SearchView默认是展示一个search的icon,点击icon展开搜索框,如果你想让搜索框默认就展开,可以通过setIconifiedByDefault(false);实现。

SearchView属性

属性名称 相关方法 描述
android:iconifiedByDefault setIconifiedByDefault(boolean) 设置搜索图标是否显示在搜索框内
android:imeOptions setImeOptions(int) 设置输入法搜索选项字段,默认是搜索,可以是:下一页、发送、完成等
android:inputType setInputType(int) 设置输入类型
android:maxWidth setMaxWidth(int) 设置最大宽度
android:queryHint setQueryHint(CharSequence) 设置查询提示字符串

SearchView使用

  • xml中定义SearchView:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="15dp" android:orientation="vertical" tools:context="com.airsaid.searchviewdemo.MainActivity">    <SearchView  android:id="@+id/searchView" android:layout_width="match_parent" android:layout_height="wrap_content" android:iconifiedByDefault="false" android:queryHint="请输入搜索内容" />    <ListView  android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /></LinearLayout>
  • Main代码:
public class MainActivity extends AppCompatActivity {    private String[] mStrs = {"aaa", "bbb", "ccc", "airsaid"};    private SearchView mSearchView;    private ListView mListView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mSearchView = (SearchView) findViewById(R.id.searchView);        mListView = (ListView) findViewById(R.id.listView);        mListView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mStrs));        mListView.setTextFilterEnabled(true);        // 设置搜索文本监听        mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {            // 当点击搜索按钮时触发该方法            @Override            public boolean onQueryTextSubmit(String query) {                return false;            }            // 当搜索内容改变时触发该方法            @Override            public boolean onQueryTextChange(String newText) {                if (!TextUtils.isEmpty(newText)){                    mListView.setFilterText(newText);                }else{                    mListView.clearTextFilter();                }                return false;            }        });    }}
  • 效果截图:

Demo下载:http://download.csdn.net/detail/airsaid/9483985

更多相关文章

  1. 【Android】ImageButton的记录
  2. 关于android中alarm的使用
  3. Android(安卓)Room 框架学习
  4. android ListView+CheckBox实现单选
  5. Android在诸如editText等组件设置输入法半屏幕显示的说明
  6. Android(安卓)使用自定义Dialog打造ActionSheet菜单
  7. Android(安卓)文件系统的权限设置
  8. Activity切换动画效果的修改
  9. Android支持RTL(从右向左)语言

随机推荐

  1. android MediaRecorder 视频录制
  2. Android(安卓)sensor介绍
  3. Android摄像头视频帧数据测试代码
  4. Ubuntu 14.04 配置Android编译环境
  5. android 获取网络图片
  6. Android中Parcelable接口用法
  7. android 性能优化
  8. android drawable 使用shape实现复杂图像
  9. Android(安卓)3.0 Platform Highlights
  10. Android: wakelock