Android SearchView 自定义SearchIcon和字体颜色大小
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android SearchView 自定义SearchIcon和字体颜色大小相关的知识,希望对你有一定的参考价值。
自定义SearchView的搜索图标和字体属性相对复杂一些,记下来。
一、自定义SearchIcon
1、API版本低于21:版本小于21时,要修改SearchIcon比较复杂,需要先获取到SearchView的ImageView,然后为ImageView设置图片,具体代码如下:
(1)初始化SearchView控件
mSearch = (SearchView) view.findViewById(R.id.search);
(2)设置自定义的搜索图标
if(mSearch==null){ return; }else{ //获取ImageView的id int imgId = mSearch.getContext().getResources().getIdentifier("android:id/search_mag_icon",null,null); //获取ImageView ImageView searchButton = (ImageView)mSearch.findViewById(imgId); //设置图片 searchButton.setImageResource(R.drawable.search); //不使用默认 mSearch.setIconifiedByDefault(false); }
2、API版本大于21时,就很方便了,直接在layout文件中为SearchView设置属性searchIcon即可啦。
android:searchIcon="@drawable/search"
二、自定义字体颜色和大小,也可以修改SearchView中的提示文字的颜色
1、初始化SearchView控件,同上。
2、获取到SearchView的TextView,然后就可以修改其属性了,代码如下。
if(mSearch==null){ return; } else{ //获取到TextView的ID int id = mSearch.getContext().getResources().getIdentifier("android:id/search_src_text",null,null); //获取到TextView的控件 TextView textView = (TextView) mSearch.findViewById(id); //设置字体大小为14sp textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);//14sp //设置字体颜色 textView.setTextColor(getActivity().getResources().getColor(R.color.search_txt_color)); //设置提示文字颜色 textView.setHintTextColor(getActivity().getResources().getColor(R.color.search_hint_color)); }
三、最终效果图:
以上是关于Android SearchView 自定义SearchIcon和字体颜色大小的主要内容,如果未能解决你的问题,请参考以下文章
如何更改 SearchView 上的默认图标,以便在 Android 的操作栏中使用?