修改SearchView搜索框的背景线.(或着其他属性)

来源:互联网 发布:kplayer mac 编辑:程序博客网 时间:2024/05/18 17:57

今天是来移动的第二天,雨好大...


项目经理让我修改一下android4.2.2日历中的SearchView.

要求去掉当SearchView得到焦点时候出现的蓝色背景线.

怎么说呢,很苦恼,基本没看过源码.而且android studio用的还不是太溜,电脑也卡才4G


虽然基本上一天等虚拟机就得有百分之八十的时间,但是庆幸还是弄出来了.代码如下:


SearchView calSearchView = (SearchView)v.findViewById(R.id.calendar_search_view);if (calSearchView != null) {    try {        //--拿到字节码        Class<?> argClass = calSearchView.getClass();        //--指定某个私有属性,mSearchPlate是搜索框父布局的名字        Field ownField = argClass.getDeclaredField("mSearchPlate");        //--暴力反射,只有暴力反射才能拿到私有属性        ownField.setAccessible(true);        View mView = (View) ownField.get(calSearchView);
//--设置背景 
mView.setBackgroundColor(Color.TRANSPARENT); } catch (Exception e) { e.printStackTrace(); }}


好了.马上下班了.



0 0
原创粉丝点击