Android Contacts之三自定义的联系人列表特效
2016-09-30 13:33
519 查看
Contacts系列文章
Android Contacts之一联系人列表特效Android Contacts之二根据4.4实现的联系人列表特效
Android Contacts之三自定义的联系人列表特效
简介
前面一篇文章写了android4.4下的Contacts联系人列表的UI效果,但对于中文的字母索引、关键字搜索、屏幕适配等功能都没有实现,本文就把这些实战中会用的功能都是实现了。滑动效果
搜索联系人
添加联系人
重要知识点
中文转拼音CnToCharParser.java 可以参考我的这篇文章android中获取拼音的类
文字高亮
public static String matcherSearchTitle(String title,String keyword){ String content = title; String wordReg = "(?i)"+keyword;//用(?i)来忽略大小写 StringBuffer sb = new StringBuffer(); Matcher matcher = Pattern.compile(wordReg).matcher(content); while(matcher.find()){ //这样保证了原文的大小写没有发生变化 matcher.appendReplacement(sb, "<font color=#33B5E5>"+matcher.group()+"</font>"); } matcher.appendTail(sb); content = sb.toString(); return content; }
Sidebar优化
在Sidebar的基础上,优化了sidebar不居中的问题,修改代码如下:
@Override protected void onDraw(Canvas canvas) { ... for (int i = 0; i < getLettersSize(); i++) { float measureTextHeight = this.mPaint.measureText(mLetters[i]); float letterPosY = mLetterHeight * (i+1) + getPaddingTop()-(mLetterHeight-measureTextHeight)/2; ... } }
添加联系人系统接口
Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI); startActivity(intent);
总结
本文在上一篇文章的基础上做了中文索引的支持,增加了关键字搜索以及关键字高亮,添加联系人,多屏适配等等功能,还有诸多小细节就不一一说明了,感兴趣的 朋友可以查看源码研究一二。源码下载
相关文章推荐
- Android Contacts之一联系人列表特效
- Android Contacts之二根据4.4实现的联系人列表特效
- Android 泰语/缅甸语/捷克语下,Contacts列表中联系人出现排序错乱的
- Android自定义View——实现联系人列表字母索引
- Android自定义类似联系人列表的 快速索引控件
- Android中Spinner下拉列表(使用自定义Adapter实现,显示数据取自联系人数据库)
- Android仿联系人列表分组悬浮列表实现,自定义PinnedHeaderListView实现
- android 泰语/缅甸语/捷克语下,Contacts列表中联系人出现排序错乱的问题
- android调用系统联系人列表
- Android自定义对话框列表
- Android简明开发教程十一:自定义Adapter显示列表
- Android中Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)
- android-AndroidContacts操作系列之 查看底层联系人表结构
- Android获取联系人列表
- Android SMS 短信 与 Contacts 联系人关联
- android 关于联系人列表的一个类
- android自定义列表的修饰
- Android UI开发第五篇——自定义列表
- Android UI开发第五篇——自定义列表
- [每天学点Android开发]使用新的Contacts API (ContactsContract)读取联系人信息