SearchView是安卓自带的搜索控件,可以帮助我们省下很多功夫。SearchView提供的api很多,但是麻烦在于SearchView的默认样式很多情况下不满足我们的开发需求,需要我们进行去进行定制。
对于SearchView的定制,查了网上一些资料,自己整理了一下,主要是xml和代码实现两种方式。我使用的是代码实现的方式。通过查找到SearchView控件里的各个子控件的view的Id,再分别属性修改。下面贴一下我的代码,里面的drawable和mipmap等可以替换为自己的资源。//设置searchview样式
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
private voidsetSearchView(finalSearchView searchView) {
if(searchView !=null) {
//获取最前面的搜索图标ImageView的id
int imgId = searchView.getContext().getResources().getIdentifier("android:id/search_mag_icon", null, null);
//获取ImageView
ImageView searchButton = (ImageView) searchView.findViewById(imgId);
//设置图片
searchButton.setImageResource(R.mipmap.search_icon);
//不使用默认
searchView.setIconifiedByDefault(false);
searchView.setQueryHint("搜索商品");<