首页
学习
活动
专区
圈层
工具
发布

字母索引列表组件实战:打造高效联系人应用 基础篇

, 欢迎fork & star效果演示一、字母索引列表基础介绍在HarmonyOS NEXT应用开发中,字母索引列表是一种常见的UI模式,特别适合展示按字母分类的数据,如联系人、城市列表等。...,包含以下功能:联系人按首字母分组显示每个分组有明显的标题右侧显示字母索引器,支持快速导航点击字母索引时,列表自动滚动到对应分组列表滚动时,字母索引器同步更新选中状态2.2 数据模型定义首先,我们定义联系人和分组的数据模型...contactGroups数组,包含按字母分组的联系人数据索引字母通过indexLetters计算属性获取所有索引字母构建器定义GroupHeader构建器,用于创建分组的头部页面结构使用Stack作为根容器...,包含主要内容和字母索引器联系人列表使用List和ListItemGroup创建分组列表,每个分组包含多个ListItem字母索引器使用AlphabetIndexer创建字母索引器,处理索引选择事件3.2...我们从数据模型定义、分组头部实现、页面结构设计到联系人列表和字母索引器实现,全面讲解了字母索引列表的实现过程。

24300

字母索引列表组件实战:打造高效联系人应用 进阶篇

HarmonyOS NEXT 实战案例十:List系列 字母索引列表组件实战:打造高效联系人应用 进阶篇项目已开源,开源地址: https://gitcode.com/nutpi/HarmonyosNextCaseStudyTutorial..., 欢迎fork & star效果演示一、字母索引列表进阶功能在基础篇中,我们学习了如何使用ListItemGroup和AlphabetIndexer组件创建基本的字母索引列表。...本篇教程将深入探讨字母索引列表的进阶功能,包括自定义样式、交互优化和高级功能实现,帮助你打造更加专业和用户友好的联系人应用。...group, index) => { // 列表内容 }) } } // 字母索引器...通过这些进阶功能,我们可以打造出更加专业和用户友好的联系人应用,提升用户体验。字母索引列表是HarmonyOS NEXT应用中常见的UI模式,掌握其进阶用法对于开发高质量的应用至关重要。

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

    联系人字母导航集大成者

    背景说明 联系人字母导航条已经出来很多年都交互了,其UI组合无非是悬浮字母列表+侧边栏都字母选择(PinnedHeadList+siderBar)。...要画的好看,主要要解决的问题如下: 画字母 计算整个字母导航条的高度; 计算每个字母的位置 合理设置字母的字号大小 处理触摸事件 计算触摸位置...3.1 画字母 3.1.1 静态设置字母的大小 首先,要确定View的大小,一些开源的实现是将View直接布满整个屏幕(match_parent属性),然后在右侧进行绘制,事件处理在字母区域返回...event.getAction(); final float y = event.getY(); final int oldChoose = mChoose; //当前选中字母的索引...) gif.gif 字母垂直居中显示,字母大小为属性设置,默认14sp,根据字体大小计算每个字母高度; 凸显放大效果,根据位置计算上下各4个,计算偏移位置和缩放,根据点击位置然后绘制; 整体代码还比较工整

    1.7K150

    Android系统联系人全特效实现(下),字母表快速滚动

    在上一篇文章中,我和大家一起实现了类似于Android系统联系人的分组导航和挤压动画功能,不过既然文章名叫做《Android系统联系人全特效实现》,那么没有快速滚动功能显然是称不上"全"的。...如果还没有看过我上一篇文章,请抓紧去阅读一下 Android系统联系人全特效实现(上),分组导航和挤压动画 。...包括以前老版本的Android联系人中都是使用这种方式来进行快速滚动的。效果如下图所示: ?...; /** * 联系人列表适配器 */ private ContactAdapter adapter; /** * 用于进行字母表分组 */ private AlphabetIndexer...当你的手指在右侧字母表上滑动时,联系人的列表也跟着相应的变动,并在屏幕中央显示一个当前的分组。 现在让我们回数一下,分组导航、挤压动画、字母表快速滚动,Android系统联系人全特效都实现了。

    1.2K80

    Android 自定义View 字母索引条

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

    85210

    鸿蒙Next实现通讯录索引条AlphabetIndexer

    看一下实现效果:实现过程:1.以通讯录为例,联系人一般我们以首字母分类,所以索引列表就是名字的首字母A-Z,由于会有一些特殊符号,或者数字开头等不是汉字或字母开头的,我们都归类为#,这样我们就定义好了,...因此我们需要将联系人数据分组,如果接口数据已经时分组好的,那就不需要我们处理了,如果是没有分组好的,我们需要借用三方工具,将数据做一下分组,并且以字母顺序排好,这里我直接举一个分组好的例子。...例如选中索引A,返回index=0, 然后获取分组联系人letter=A的index,调用ListScroller的scrollToItemInGroup方法,可以定位到分组A联系人。...,跳转到对应的联系人位置,通过监听onPopupSelect,弹窗二级索引选中事件,回调参数为当前选中二级索引项索引,然后去匹配一级索引对应的分组中联系人的姓在group中的index,然后使用第5步中提到的方法...,定位到分组中的联系人。

    13210
    领券