码迷,mamicode.com
首页 > 移动开发 > 详细

android SearchView 样式修改

时间:2014-10-10 20:41:44      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   color   io   ar   sp   div   

try {
            Class<?> argClass=mSearchView.getClass();
            //指定某个私有属性
            Field mSearchHintIconField = argClass.getDeclaredField("mSearchHintIcon");
            mSearchHintIconField.setAccessible(true);
            View mSearchHintIcon = (View)mSearchHintIconField.get(mSearchView);
            mSearchHintIcon.setVisibility(View.GONE);
            
            //注意mSearchPlate的背景是stateListDrawable(不同状态不同的图片)  所以不能用BitmapDrawable
            Field ownField = argClass.getDeclaredField("mSearchPlate");
            //setAccessible 它是用来设置是否有权限访问反射类中的私有属性的,只有设置为true时才可以访问,默认为false
            ownField.setAccessible(true);
            View mView = (View) ownField.get(mSearchView);
            mView.setBackground(getResources().getDrawable(R.drawable.contacts_search_writebg));


            //指定某个私有属性  
            Field mQueryTextView = argClass.getDeclaredField("mQueryTextView");
            mQueryTextView.setAccessible(true);
            Class<?> mTextViewClass = mQueryTextView.get(mSearchView).getClass().getSuperclass().getSuperclass().getSuperclass();


           //mCursorDrawableRes光标图片Id的属性 这个属性是TextView的属性,所以要用mQueryTextView(SearchAutoComplete)
            //的父类(AutoCompleteTextView)的父  类( EditText)的父类(TextView)  
            Field mCursorDrawableRes = mTextViewClass.getDeclaredField("mCursorDrawableRes");
            //setAccessible 它是用来设置是否有权限访问反射类中的私有属性的,只有设置为true时才可以访问,默认为false
            mCursorDrawableRes.setAccessible(true);
          //注意第一个参数持有这个属性(mQueryTextView)的对象(mSearchView) 光标必须是一张图片不能是颜色,因为光标有两张图片,
            //一张是第一次获得焦点的时候的闪烁的图片,一张是后边有内容时候的图片,如果用颜色填充的话,就会失去闪烁的那张图片,
            //颜色填充的会缩短文字和光标的距离(某些字母会背光标覆盖一部分)。
            mCursorDrawableRes.set(mQueryTextView.get(mSearchView), R.drawable.icon_small_add_delete);  
        } catch (Exception e) {
            e.printStackTrace();
        }

参考原文:http://blog.csdn.net/chenshijun0101/article/details/21521137

android SearchView 样式修改

标签:android   style   blog   http   color   io   ar   sp   div   

原文地址:http://www.cnblogs.com/butterfly-clover/p/4016532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!