十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
仿微信联系人列表字母侧滑控件, 侧滑控件参考了以下博客:

Android实现ListView的A-Z字母排序和过滤搜索功能
首先分析一下字母侧滑控件应该如何实现,根据侧滑控件的高度和字母的数量来平均计算每个字母应该占据的高度。
在View的onDraw()方法下绘制每一个字母
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
int height = getHeight();// 获取对应高度
int width = getWidth(); // 获取对应宽度
int singleHeight = height / getData().size();// 获取每一个字母的高度
for (int i = 0; i < getData().size(); i++) {
mPaint.setColor(getLetterColor());//绘制字母的颜色
mPaint.setTypeface(Typeface.DEFAULT);
mPaint.setAntiAlias(true);
mPaint.setTextSize(singleHeight);
// 如果是选中的状态
if (i == mPosition) {
mPaint.setColor(getLetterPressedColor());
mPaint.setFakeBoldText(true);
}
// x坐标等于总体宽度中间的位置减去字符串宽度的一半.
float xPos = width / 2 - mPaint.measureText(getData().get(i)) / 2;
float yPos = singleHeight * i + singleHeight;
canvas.drawText(getData().get(i), xPos, yPos, mPaint);
mPaint.reset();// 重置画笔
}
}