SearchView mSearch=findviewById(R.id.XXX);
//找到searchview显示文字的控件
TextView txt_search = mSearch.findViewById(android.support.v7.appcompat.R.id.search_src_text);
//设置字体大小为14sp
txt_search.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);//14sp
//设置字体颜色
txt_search.setTextColor(getResources().getColor(R.color.search_txt_color));
//设置提示文字颜色
txt_search.setHintTextColor(getResources().getColor(R.color.search_hint_color));
//去掉searchview下划线
View view = mSearch.findViewById(android.support.v7.appcompat.R.id.search_plate);
view.setBackgroundColor(Color.TRANSPARENT);
//去掉searchview下划线 方法二
try { //--拿到字节码
Class<?> argClass = mSearch.getClass();
//--指定某个私有属性,mSearchPlate是搜索框父布局的名字
Field ownField = argClass.getDeclaredField("mSearchPlate");
//--暴力反射,只有暴力反射才能拿到私有属性
ownField.setAccessible(true);
View mView = (View) ownField.get(mSearch);
//--设置背景
view.setBackgroundColor(Color.TRANSPARENT);
} catch (Exception e) {
e.printStackTrace();
}
searchView出来
searchView.onActionViewExpanded();
searchView回去
searchView.onActionViewCollapsed();