标题:在代码中修改SearchView控件的默认图标样式,并设置搜索图标与默认字体的距离
步骤:
1、首先定义一个SearchView
Searchview mSearchview = (SearchView) findViewById(R.id.search_view);
2、获取原生SearchView布局文件中的id:search_src_text
int text_id = mSearchview.getContext().getResources().
getIdentifier("android:id/search_src_text", null, null);
3、获取文本
TextView textView = (TextView) mSearchview.findViewById(text_id);
textView.setTextColor(Color.RED);//设置默认字体颜色textView.setTextSize(14);//设置默认字体大小
4、替换搜索图标,将搜索图标与默认字体绑定
final Drawable searchIcon = context.getDrawable(R.drawable.searchview_search_icon);final int textSize = (int) (textView.getTextSize() * 1.25);//根据文本框大小来确定图标大小
searchIcon.setBounds(0, 0, textSize, textSize);
//设置默认显示字体
final SpannableStringBuilder ssb = new SpannableStringBuilder(" "); // for the icon
ssb.append(hintString);
ssb.setSpan(new ImageSpan(searchIcon), 1, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
int padding =getResources().getDimensionPixelSize(R.dimen.searchview_search_button_padding);
textView.setPadding(padding, padding, padding, padding);//设置图标和文字跟四周距离
textView.setGravity(Gravity.BOTTOM);
textView.setHint(ssb);
如果对SearchView不熟悉,可以下载源码看下,对照原生布局可以更好的修改。