自定义searchview的编辑框,搜索按钮,删除按钮,光标等
//指定某个私有属性
Field mSearchHintIconField = argClass.getDeclaredField("mSearchHintIcon");
mSearchHintIconField.setAccessible(true);
ImageView mSearchHintIcon = (ImageView)mSearchHintIconField.get(mSearchView);
// mSearchHintIcon.setVisibility(View.GONE);
mSearchHintIcon.setImageResource(R.drawable.main_search_selector); //注意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.person_edittext_selector));
     Field mCloseButton = argClass.getDeclaredField("mCloseButton");
            mCloseButton.setAccessible(true);
            ImageView backView = (ImageView) mCloseButton.get(mSearchView);
            backView.setImageResource(R.drawable.delete_selector);  
            //修改为展开时的搜索图标
            Field mSearchButton = argClass.getDeclaredField("mSearchButton");
            mSearchButton.setAccessible(true);
            ImageView search = (ImageView) mSearchButton.get(mSearchView);
            search.setImageResource(R.drawable.main_search_selector);  
            //修改光标
            //指定某个私有属性
            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.divider_selector);    
自定义searchview的编辑框,搜索按钮,删除按钮,光标等的更多相关文章
- easyui tree datagrid动态添加表头和表格数据,动态弹出框,修改和删除按钮
		
1.要有获取表头的URL和表格的URL 背景:点击树的一个节点,就加载一个表格,这个表格是动态的,表头和表格数据都是动态的 解决方案:需要两个URL,一个是获取表头的URL,一个是获取表格数据的URL ...
 - iOS开发——UI进阶篇(四)tableView的全局刷新,局部刷新,左滑操作,左滑出现更多按钮,进入编辑模式,批量删除,自定义批量删除
		
首先创建项目,在storyboard如下布局控件,设置好约束 然后创建cell模型类XMGWineCell数据模型类XMGWine创建UITableView,设置数据源协议,实现数据源方法懒加载数据这 ...
 - GridView控件中插入自定义删除按钮并弹出确认框
		
GridView控件中插入自定义删除按钮,要实现这个功能其实有多种方法,这里先记下我使用的方法,以后再添加其他方法. 一.实现步骤 1.在GridView中添加模板列(TemplateField). ...
 - 2.Android之按钮Button和编辑框EditText学习
		
今天学习android一些基本控件:button和edittext使用,我们平时网页或者手机登录一般都会有登录框,这里面就用到这两个部件. 如图: 所对应XML文件: 一般第二个编辑框都是输入密码,所 ...
 - [置顶] VC++界面编程之--自定义CEdit(编辑框)皮肤
		
自定义编辑框是登陆界面经常用到的效果,所以我也模仿站酷网的素材做了个. 要想继承CCustomDraw来完全自绘CEdit控件,是不太可行的方案,因为一旦你完全重绘,那么你需要额外做以下几件事: 1. ...
 - Android自定义View带有删除按钮的EditText
		
转载请注明出处http://blog.csdn.net/xiaanming/article/details/11066685 今天给大家带来一个很实用的小控件ClearEditText,就是在Andr ...
 - GridView中的编辑和删除按钮,执行更新和删除代码之前的更新提示或删除提示
		
在GridView中,可以通过设计界面GridViewr任务->编辑列->CommandField,很简单的添加的编辑和删除按钮 在前台源码中,可以看到GridView自动生成了两个列. ...
 - MFC控件编程之 按钮编辑框.静态文本的使用,以及访问控件的七种方法.
		
MFC控件编程之 按钮编辑框.静态文本的使用以及访问控件的七种方法. 一丶按钮.静态文本的通用属性. 他们都有一个属性.就是可以输入标题内容.以及可以自定义控件ID. 创建一个MFC Dlg对话框. ...
 - 模拟邮箱输入邮箱地址、收藏标签。input框输入内容后回车,内容显示成小方块并带删除按钮。
		
模拟邮箱输入邮箱地址.收藏标签: 文本框输入文字后按回车键或者分号键,输入框中的文字变成小块并带删除按钮和操作. 页面代码: <!DOCTYPE html> <%@ page lan ...
 
随机推荐
- 【给你几个使用Xamarin的理由】
			
写在开篇前 这种代理操作,绑定影射的机制,有些极端的开发者确实难以接受.追求完美,总感觉原生的各种优点. 如果你非得较这个真,那您还是感觉补习下 Java Eclipse ,买一台Mac 恶补Obj ...
 - eclipse  php 开发环境配置
			
一般常用的是eclipse+pdt.我是直接下载的Eclipse for php :http://www.eclipse.org/downloads/packages/eclipse-php-deve ...
 - 匹配“is outside location”
			
<pre name="code" class="html">is outside location 怎么匹配? . 匹配除换行外的所有单个字符,通常 ...
 - AsyncTask 与 对话框显示 view.WindowManager$BadTokenException: Unable to add window…is not valid; is your a
			
最近遇到一个奇葩的问题,好郁闷 之前也没有仔细看.问题偶尔出现一次.再去查看日志时,出现 view.WindowManager$BadTokenException: Unable to add win ...
 - 2301: [HAOI2011]Problem b
			
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MBSubmit: 4164 Solved: 1888[Submit] ...
 - View中取设置了Tag的UILabel
			
UILabel *badge = (UILabel *)[self.view viewWithTag:];
 - jmock2.5基本教程(转)
			
原文:http://www.cnblogs.com/zfc2201/archive/2011/12/30/2307970.html jmock2.5基本教程 目录 第0章 概述 第1章 jmock初体 ...
 - java算法之冒泡排序法
			
由此可见:N个数字要排序完成,总共进行N-1趟排序,每第 i 趟的排序次数为 (N-i) 次,所以 可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数,即 for(inti=0;i& ...
 - Java实现将指定目录内的指定类型的文件归类
			
这两天在学Java IO流,正好让我产生了将自己的电子书归类的打算,说做就做,Why not?看着自己所学所用能解决生活中的实际问题,是不是非常有成就感,那是必须的! package DepthSea ...
 - js控制html5 audio的暂停、播放、停止
			
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name ...