android隐藏搜索框边框 隐藏SearchView边框

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"?>
xmlns:android="http://schemas.android.com/apk/res/android">
    
        
            android:color="@color/colorAccent" />
        
    
    
    
        
            android:color="@color/colorAccent" />
        
    

你可能感兴趣的:(android)