列表快速滚动,是比较常见的需求,特别是在通讯录上。

现在 Android 好多 APP 都是字母索引栏,其实字母索引是 IOS 那边的规范,很多人觉得好用就抄过来了。

在 Android 上原生的是叫 Fast Scroll ,特点是默认隐藏的,也没有一排的字母显示出来,只能在划动列表时出现。


Fast Scroll 实现方法:

  • 继承 ListActivity (普通的 Activity 貌似不行);
  • 调用 setFastScrollEnabled(true) (也可以在 XML 里设置)。
  • 配置索引(这一步比较麻烦,特别是中文)
例子: listview-section-based-fast-scroll-in-android
配置样式:(这里没运行测试的,仅供参考)
        


字母索引栏实现方法,比较原生的 FastScroll 就是要创建自定义的 View 来显示字母; 一般情况下,要先拿到中文的拼音首字母,如果是英文的就直接使用,然后按字母分类排列,添加索引配置。一切事件都要自己来做。 这个现在没看到比较简单纯粹的例子,我经历了几个项目,都是进行了大量的自定义配置。 可以参考一下蘑菇街的即时通讯开源项目: TTAndroidClient 。
拼音的生成有两种方式
  • 汉字转拼音android实现(HanziToPinyin类)
  • 使用Pinyin4j把汉字转化为拼音
使用 Android 内部的方法,看别人的经验,有些会转错,要自己调整码,不知道新版是否解决这些问题。 最新版的代码: HanziToPinyin.java 、 Transliterator.java; 例子我上次到 我的 CSDN 资源文件里了,暂时发现“呵”会转错为 “A”,也就是说正确率不是 100% 的。 原生通讯录的实现方式很经典,可以研究一下源码。

更多相关文章

  1. LXR 索引Android(安卓)源码
  2. Android(安卓)ListView城市列表,按a-z分组字母索引排序
  3. 最新res索引讲解(drawable、layout、values等目录的分辨率和layou
  4. Android异步处理系列文章索引
  5. [置顶] Android异步处理系列文章索引
  6. Android最便捷banner轮播图实现原理及代码
  7. android触控,先了解MotionEvent
  8. 【eoeAndroid社区索引】android 条形码的知识汇总
  9. Android汉字转换成拼音

随机推荐

  1. Android中字体颜色大全-146种(完整版)
  2. android按键模拟测试
  3. android 里面的测量单位
  4. android四种不同的事件实现
  5. 如何隐藏Activity的界面,让其在后台运行
  6. Activity finish后出现闪烁的解决办法
  7. Android Wifi Hotspot Manager Class
  8. android res目录资源文件适配
  9. Android录制视频,可限制时长,限大小
  10. Android HOME键屏蔽