SearchView的使用说明
来源:互联网 发布:崩坏3矩阵空间攻略 编辑:程序博客网 时间:2024/05/22 06:25
先上代码日后再仔细说明
package com.lqr.materialdesigndemo;import android.app.Activity;import android.database.Cursor;import android.os.Bundle;import android.support.v7.widget.SearchView;import android.text.TextUtils;import android.view.View;import android.view.ViewGroup;import android.widget.Button;import android.widget.ImageView;import android.widget.LinearLayout;import java.lang.reflect.Method;/** * Created by chenmeng on 2017/6/19. */public class TestSearchView extends Activity { private Button cloase_search;////onSearchClicked() private Button open_search; private SearchView mSearchView; private SearchView.SearchAutoComplete mSearchAutoComplete; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test_search_view); mSearchView = (SearchView) findViewById(R.id.search_view); cloase_search = (Button) findViewById(R.id.cloase_search); open_search = (Button) findViewById(R.id.open_search); initSearch(); mSearchView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (!mSearchAutoComplete.isShown()) { try {// mSearchAutoComplete.setText(""); Method method = mSearchView.getClass().getDeclaredMethod("onSearchClicked"); method.setAccessible(true); method.invoke(mSearchView); } catch (Exception e) { e.printStackTrace(); } } } }); open_search.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (!mSearchAutoComplete.isShown()) { try {// mSearchAutoComplete.setText(""); Method method = mSearchView.getClass().getDeclaredMethod("onSearchClicked"); method.setAccessible(true); method.invoke(mSearchView); } catch (Exception e) { e.printStackTrace(); } } } }); cloase_search.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mSearchAutoComplete.isShown()) { try { mSearchAutoComplete.setText(""); Method method = mSearchView.getClass().getDeclaredMethod("onCloseClicked"); method.setAccessible(true); method.invoke(mSearchView); } catch (Exception e) { e.printStackTrace(); } } } }); } ImageView mSearchButton; ImageView mCollapsedIcon; private void initSearch() { mSearchAutoComplete = (SearchView.SearchAutoComplete) findViewById(R.id.search_src_text); mSearchView.setQueryHint("搜索本地歌曲"); //设置输入框提示文字样式 mSearchAutoComplete.setHintTextColor(getResources().getColor(android.R.color.darker_gray)); mSearchAutoComplete.setTextColor(getResources().getColor(android.R.color.background_dark)); mSearchAutoComplete.setTextSize(14); //设置触发查询的最少字符数(默认2个字符才会触发查询) mSearchAutoComplete.setThreshold(1); //设置搜索框有字时显示叉叉,无字时隐藏叉叉 mSearchView.onActionViewExpanded(); mSearchView.setIconified(true); //修改搜索框控件间的间隔(这样只是为了更加接近网易云音乐的搜索框) LinearLayout search_edit_frame = (LinearLayout) mSearchView.findViewById(R.id.search_edit_frame); ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) search_edit_frame.getLayoutParams(); params.leftMargin = 0; params.rightMargin = 0; search_edit_frame.setLayoutParams(params); //监听SearchView的内容 mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String s) { return false; } @Override public boolean onQueryTextChange(String s) {// Cursor cursor = TextUtils.isEmpty(s) ? null : queryData(s);// if (mSearchView.getSuggestionsAdapter() == null) {// mSearchView.setSuggestionsAdapter(new SimpleCursorAdapter(SearchViewActivity2.this, R.layout.item_layout, cursor, new String[]{"name"}, new int[]{R.id.text1}));// } else {// mSearchView.getSuggestionsAdapter().changeCursor(cursor);// }// setAdapter(cursor); return false; } }); }}
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/cloase_search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="关闭搜索" /> <Button android:id="@+id/open_search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="打开搜索" /> <android.support.v7.widget.SearchView android:background="@color/red" android:id="@+id/search_view" android:layout_width="match_parent" android:layout_height="50dp" style="@style/Widget.SearchView" ></android.support.v7.widget.SearchView></LinearLayout>
style:
<style name="Widget.SearchView" parent="Widget.AppCompat.SearchView"> <item name="defaultQueryHint">搜索本地歌曲</item> <item name="searchIcon">@mipmap/m5</item> <item name="searchHintIcon">@null</item> </style>
阅读全文
0 0
- SearchView的使用说明
- SearchView的简单用法
- Android SearchView的使用方法
- SearchView的基本使用
- Android SearchView的使用
- SearchView的使用
- SearchView的用法
- SearchView的小细节
- SearchView的基本使用
- SearchView的简单使用
- SearchView
- SearchView
- searchview
- SearchView
- SearchView
- SearchView
- SearchView
- SearchView
- 2017-06-19 第一天
- git 命令大全
- 图形理解 LSTM 网络
- 改变eclipse的主题,使用IDEA的黑色主题
- 我所理解的RxJava——上手其实很简单(一) 144 作者 Weavey 关注 2016.08.27 03:30* 字数 2789 阅读 45458评论 60喜欢 289 前言 相信各位看官对R
- SearchView的使用说明
- Java设计模式之--适配器模式
- java基础(4)集合框架(一)
- SpringMVC与 Struts2
- c语言实现简单单链表
- 40. Combination Sum II---找出和为target的子数组
- Android如何减少apk大小
- Android 使用shape定义不同控件的的颜色、背景色、边框色
- opencv之轮廓的查找与绘制(二)