今天是来移动的第二天,雨好大...
项目经理让我修改一下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(); }}
好了.马上下班了.