android 反向暴力取私有参数 (转载)

    private void deleteDown(String filed) {//去掉搜索框的下划线
        if (mSearchView != null) {
            try {        //--拿到字节码
                Class<?> argClass = mSearchView.getClass();
                //--指定某个私有属性,mSearchPlate是搜索框父布局的名字
                Field ownField = argClass.getDeclaredField(filed);
                //--暴力反射,只有暴力反射才能拿到私有属性
                ownField.setAccessible(true);
                View mView = (View) ownField.get(mSearchView);
                //--设置背景
                mView.setBackgroundColor(Color.TRANSPARENT);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

SearchView使用的时候想把原有的下划线去掉,网上搜到一个可以取SearchView里面的私有属性

很是牛逼的操作呀,后来想把提示的icon去掉,发现是drawble来的,后来发现不行

记录一下。

转载自:(http://blog.csdn.net/Smart_YC/article/details/52103481)

原文地址:https://www.cnblogs.com/george-cw/p/7472846.html