首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android仿微信通讯录搜索示例(匹配拼音,字母,索引位置)

前言: 仿微信通讯录搜索功能,通过汉字或拼音首字母找到匹配的联系人并显示匹配的位置 一:先看效果图 ? 字母索引 ?...搜索匹配 二:功能分析 1:汉字转拼音 通讯录汉字转拼音(首个字符当考虑姓氏多音字), 现在转换拼音常见的有pinyin4j和tinypinyin, pinyin4j的功能强大,包含声调多音字,tinypinyin...执行快占用内存少, 如果只是简单匹配通讯录,建议使用tinypinyin,用法也很简单这里不详细介绍 拼音类 public class CNPinyin <T extends CN implements...Serializable, Comparable<CNPinyin<T { /** * 对应首字首拼音字母 */ char firstChar; /** * 所有字符中的拼音首字母...; i++) { String pat = cnPinyin.pinyins[i]; if (pat.length() = keyword.length()) {//首个位置索引

2.3K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android 自定义View 字母索引

    开门见山-IndexBar 不管是在QQ上,还是在163的邮箱中,或者自己手机的通讯录中,右侧都会躺着一个这个玩意儿,我姑且不造官方有没有相关的东西,或者大家约定俗成的称呼这个玩意儿叫什么,反正我就叫它索引条...IndexBar从整体样式上(我观察的哈),分为两种,一种就是不管三七二十一,26个字母糊糊的贴上去的那种,还有一种就是根据当前的具体内容,只展示相关的首字母的!...实现思路 这个问题要一分为二来看,首先是怎么把26个字母画出来,然后才是怎么去识别触摸对应的是哪个字母!!...触摸的相关状态添加 首先是触摸到这个索引条,背景加深,这个肯定就是走touch事件了嘛,在ACTION_DOWN的时候修改相关状态,在ACTION_UP的时候,再次刷新相关状态咯。...点击相关回调 用户看到的都是表象,触摸到的肯定是某一个坐标值,这个坐标应该对应这26个字母中的某一个字母的所在的坐标!

    73710

    Android 实现带字母索引的侧边栏功能

    这两天需要重新拿来使用,发现效果虽然做出来了,不过思路不太对,就重新参考写了一个,用法也更为简单了 首要的自然是需要继承View绘制出侧边栏,并向外提供一个监听字母索引变化的方法 /** * 作者:叶应是叶...break; } invalidate(); return true; } @Override protected void onDraw(Canvas canvas) { if (hit) { //字母索引条背景色...context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } } 在侧边栏时,中间会显示当前滑动指向的字母...tv_hint.setVisibility(View.INVISIBLE); } } } 这里也提供代码下载:LetterIndexView 总结 以上所述是小编给大家介绍的Android 实现带字母索引的侧边栏功能

    2.5K41

    封装一个类似微信通讯录带有字母检索功能的vue组件

    首先需要一个通讯录列表,其次是字母列表。 字母列表很简单。 第一种方法:直接用fromCharCode,for循环遍历拿到26个英文字母。...换句话说,如果通讯录只有ABCDEFG这几个首字母的联系人,你把26个都弄上去有点不太合适。 第二种方法:也是相对简单的,直接从通讯录列表拿到字母。当然,这种方法需要后端给你对应的数据结构。...peoArray: [],//通讯录列表 }; }, computed: {}, mounted() { // 获取26个英文字母大写 // for (...var i = 0; i < 26; i++) { // this.letter.push(String.fromCharCode(65 + i)) // } // 只获取通讯录字母...refs.box.style.marginTop = 0; // 开启导航后,上边距默认清零 let target = document.getElementById("peo" + item); //获取每个字母通讯录对象

    54830

    Android开发之自定义view实现通讯录列表A~Z字母提示效果【附demo源码下载】

    本文实例讲述了Android开发之自定义view实现通讯录列表A~Z字母提示效果。...void onTouchingLetterChanged(String s); } } 然后我在Activity中OnTouchingLetterChangedListener中监听手指触摸到了哪个字母...,然后让列表跳转到对应的位置, 弹出首字母提示框: private class LetterListViewListener implements OnTouchingLetterChangedListener...,那么他对应的sort_key就是:ZHANG张SAN三,这样一来就容易多了: //获得汉语拼音首字母 private String getAlpha(String str) { if (str ==...str.trim().length() == 0) { return "#"; } char c = str.trim().substring(0, 1).charAt(0); // 正则表达式,判断首字母是否是英文字母

    86250
    领券