android自定义View----通讯录导航栏(快速查找索引)

本文展示了如何创建一个自定义View,实现通讯录应用中的导航栏功能。当用户点击或滑动时,根据手指位置获取相应字母,并在ListView中定位到对应项,同时展示选中字母。提供了实现思路及源码链接。
摘要由CSDN通过智能技术生成

先上效果界面
通讯录导航
如图右侧竖排字母即为导航栏,通过自定义View实现。
实现导航思路:当用户点击这个控件时我们需要知道用户点击的哪个字母,并根据字母设置listview的从哪里开始显示,并在中心显示一个该字母的textview,给用户以提示。

所以这个控件的作用:在用户点击按钮时或滑动时,根据手指位置,实时获取字母(假设为M),将字母暴露出来,并提供事件的处理接口setOnLetterUpdateListener。在接口方法中,将listview设置到要显示的item项(listview.setSelection(N))方法。

程序源码地址:https://github.com/dronly/ImoocNews

QuickIndex源码如下

public class QuickIndexBar extends View {
   

    private static final String[] LETTERS = new String[] { "A", "B", "C", "D",
            "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值