Android 开发之自定义 SearchView
来源:互联网 发布:vcr制作软件下载 编辑:程序博客网 时间:2024/05/22 08:10
Android 开发之自定义 SearchView
概述
官方的 SearchView 不好用,除了自己组装一个搜索框之外,完全可以在官方基础上改,以保证能满足大多数需求。
详情见代码和注释
public class MySearchView extends SearchView { public MySearchView(Context context) { super(context); styleSearchView(); } public MySearchView(Context context, AttributeSet attrs) { super(context, attrs); styleSearchView(); } public void styleSearchView() { //设置背景 this.setBackgroundResource(R.drawable.search_bg); //提示文本内容 this.setQueryHint("请搜索"); //默认展开 this.setIconifiedByDefault(false); //去除下划线 int plateId = this.getContext().getResources().getIdentifier("android:id/search_plate", null, null); LinearLayout plate = (LinearLayout)this.findViewById(plateId); plate.setBackgroundColor(Color.TRANSPARENT); //设置搜索框EditText int searchPlateId = this.getContext().getResources().getIdentifier("android:id/search_src_text", null, null); EditText searchPlate = (EditText)this.findViewById(searchPlateId); //提示文本颜色 searchPlate.setHintTextColor(getResources().getColor(R.color.white)); searchPlate.setTextColor(Color.WHITE); searchPlate.setBackgroundColor(Color.TRANSPARENT); searchPlate.setGravity(Gravity.CENTER); //设置光标样式 try { Field f = TextView.class.getDeclaredField("mCursorDrawableRes"); f.setAccessible(true); f.set(searchPlate, R.drawable.cursor); } catch (Exception e) { e.printStackTrace(); } //自定义搜索图标 int search_mag_icon_id = this.getContext().getResources().getIdentifier("android:id/search_mag_icon", null, null); ImageView search_mag_icon = (ImageView) this.findViewById(search_mag_icon_id); search_mag_icon.setImageResource(R.drawable.widget_search_icon); search_mag_icon.setScaleType(ImageView.ScaleType.CENTER); //自定义清除图标 int search_close_icon_id = this.getContext().getResources().getIdentifier("android:id/search_close_btn", null, null); ImageView search_close_btn = (ImageView) this.findViewById(search_close_icon_id); search_close_btn.setImageResource(R.drawable.widget_search_del); }}
总结:
完全自定义 searchview 就是这么简单
0 0
- Android 开发之自定义 SearchView
- Android开发之SearchView
- android开发之SearchView
- android:打造自定义searchView
- 自定义Android SearchView
- android自定义SearchView
- android开发--searchView
- Android 之SearchView翻译
- android之SearchView
- Android自定义SearchEditText仿SearchView
- 【Android自定义View实战】之自定义超简单SearchView搜索框
- 自定义SearchView
- 自定义SearchView
- 自定义SearchView
- 自定义 SearchView
- 自定义 Android 搜索控件 SearchView ---SimpleSearchView
- xamarin android下SearchView自定义样式
- Android开发之核心特性SearchView的开发使用(源代码分享)
- 睡眠
- 最经典的智力测试题及答案
- Java中hasCode方法
- 系统服务列表里面没mysql相关服务
- Java第五天
- Android 开发之自定义 SearchView
- ViewPager的相关使用
- MySQL DBA 分歧之一 --> 读写分离场景中读写账号是否分离?
- Java String charAt()方法
- gridView的用法
- Git 系列之二:Windows 下 Git 客户端的选择,及 msysGit 各种中文问题的解决
- windows(XP)下配置使用Git完整过程(msysgit、TortoiseGit)
- Android简易实战教程--第十一话《获取手机所有应用信息Engine类详解》
- JAVA——垃圾收集器与内存分配策略