private SearchView mMen_dian_ming_cheng_searchview; // 门店搜索框
mMen_dian_ming_cheng_searchview = (SearchView)findViewById(R.id.men_dian_ming_cheng_searchview);
// 并没真正的隐藏,只是把边框改为白色了。我的背景是白色的 哈哈,代码实际作用是为searchview设置边框。
if (mMen_dian_ming_cheng_searchview != null) {
try { //--拿到字节码
Class<?> argClass = mMen_dian_ming_cheng_searchview.getClass();
//--指定某个私有属性,mSearchPlate是搜索框父布局的名字
Field ownField = argClass.getDeclaredField("mSearchPlate");
//--暴力反射,只有暴力反射才能拿到私有属性
ownField.setAccessible(true);
View mView = (View) ownField.get(mMen_dian_ming_cheng_searchview);
//--设置背景
mView.setBackgroundResource(R.drawable.search_view_border);
}
catch (Exception e) {
e.printStackTrace();
}
}
// drawable/search_view_border文件
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<solid android:color="@color/colorAccent" />
</shape>
</item>
<!-- 主体背景颜色值 -->
<item>
<shape>
<solid android:color="@color/colorAccent" />
</shape>
</item>
</layer-list>