登录社区云,与社区用户共同成长
邀请您加入社区
任何一款设计精良的应用,背后都有一套严谨的色彩规范。bg: string;primary:主色调,木棕 #8A6A4F,用于按钮、强调文字、激活状态、毛笔页图标等高优先级视觉元素,是毛笔笔杆的标志性色彩。:主色深色变体 #46352A,作为顶部头部背景,营造深木笔匣的沉稳感。accent:强调色,墨蓝 #3E4A5A,与木棕形成冷暖对比,用于笔洗、墨色等元素。bg:页面整体背景色 #F5F3EF,
本文系统介绍了HarmonyOS中List组件的开发应用,重点讲解了在个人设置页中的实现方法。主要内容包括:List组件的基础特性(支持结构化数据展示、可滚动)、接口参数(间距、初始索引、滚动控制)和常用属性(排列方向、分列/行、分割线)。通过设置页案例演示了开发流程:数据层准备二维数组,页面层使用双层ForEach遍历分组数据,并封装统一列表项组件。最后总结了List的核心知识点及List→Li
用按场次隔离的动作栈恢复最近一次真实得分,并处理空栈、重置、直接录入和结束态边界。
自从从事鸿蒙开发工作以来,幽蓝君一直在寻找一种优雅的弹窗方式,我不想要在每一个页面添加组件或者初始化,我只想要在我需要的时候,一句话就能弹出我需要的加载动画或者提示弹窗,简单粗暴又不失优雅。
摘要:本文展示了如何使用ArkUI的animateTo显式动画和if条件渲染实现ListItem内容的展开/收起效果。通过@State变量控制内容显示状态,点击按钮时触发300ms的平滑动画切换,同时动态改变按钮文本("展开"/"收起")。代码包含完整的列表示例,每个列表项可独立展开显示灰色背景的内容区域,并具备良好的交互视觉效果。
摘要: 当外层ListA的ListItem设置固定高度时,会导致内层LazyForEach的懒加载失效(所有项一次性加载);若不设置高度,则懒加载正常但可能显示不全。解决方案是固定内层List高度,并利用自定义BaseDataSource管理数据源,通过notifyData*方法动态更新视图。示例代码中,NewPosItemDataSource继承基类实现数据操作,内层List通过LazyForE
本示例介绍在List组件内实现子组件超出容器边缘的布局样式的实现方法。List组件clip属性默认为true,超出容器边缘的子组件会按照List的布局范围被裁剪。为此,可以在List组件内部添加一个占位的ListItem,以达到预期的布局效果。List占满整个窗口或者不可滚动的情况下,也可以在List外占位,同时设置List的clip属性为false达成同样的效果。该布局效果多用于头像、列表子项标
下拉刷新使用Refresh嵌套List实现。刷新逻辑在onRefreshing回调方法中执行。上拉加载更多给List添加onReachEnd事件回调。
本示例分别通过onItemDrop()和onDrop()回调,实现子组件在Grid和List中的子组件位置交换。
List组件本身不支持设置两端渐变,但是可以结合LinearGradient对象实现效果。
1、点击某个ListItem后,改变其背景色,并记录书签(最简单就是记录index,但如果以后该List条目增加时,index就不是原来所点的了,这种情况可以自行处理,需要记录的是在Album中其它不依赖index且能唯一区分各item的其它数据,例如对于我这个案例来说是不同album有唯一的path)不得不说点击鸿蒙ListItem后改变背景色,以及自动滚动到某个条目的写法很巧妙:你只需在某个其
在多对多跨应用数据共享的场景下,需要提供一条数据通路能够接入多个不同应用的数据并共享给其他应用进行读取。UDMF针对多对多跨应用数据共享的不同业务场景提供了标准化的数据通路,提供了标准化的数据接入与读取接口。
当应用程序本地存储的关系型数据存在跨设备同步的需求时,可以将需要同步的表数据迁移到新的支持跨设备的表中,当然也可以在刚完成表创建时设置其支持跨设备。
跨设备数据同步功能(即分布式功能),指将数据同步到一个组网环境中的其他设备。常用于用户应用程序数据内容在可信认证的不同设备间,进行自由同步、修改和查询。
键值型数据库存储键值对形式的数据,当需要存储的数据没有复杂的关系模型,比如存储商品名称及对应价格、员工工号及今日是否已出勤等,由于数据复杂度低,更容易兼容不同数据库版本和设备类型,因此推荐使用键值型数据库持久化此类数据。
键值型数据库适合不涉及过多数据关系和业务关系的业务数据存储,比SQL数据库存储拥有更好的读写性能,同时因其在分布式场景中降低了解决数据库版本兼容问题的复杂度,和数据同步过程中冲突解决的复杂度而被广泛使用。
标准化数据类型(Uniform Type Descriptor,简称UTD)用于解决系统中的类型模糊问题,即针对同一种数据类型,存在不同的类型描述方式:MIME Type、文件扩展名等。例如描述jpg/jpeg类型图片时,可以使用image/jpeg、.jpg、.jpeg或image/picture等方式进行描述。
当应用在处理一项重要的操作,显然是不能被打断的。例如:写入多个表关联的事务。此时,每个表的写入都是单独的,但是表与表之间的事务关联性不能被分割。
应用数据持久化,是指应用将内存中的数据通过文件或数据库的形式保存到设备上。内存中的数据形态通常是任意的数据结构或数据对象,存储介质上的数据形态可能是文本、数据库、二进制文件等。
本文详细解析了二维码生成的完整流程,代码不到300行却涉及多项关键技术。主要步骤包括:字节编码(将输入字符转为ASCII码)、构造比特流(添加模式指示器和终止符)、选择版本(根据数据量确定二维码尺寸)、计算里德-所罗门纠错码(使用GF(256)有限域运算),最后铺设模块矩阵(包括定位图案、时序图案和数据掩码)。整个过程展示了如何将文本信息转换为可识别的黑白方块图案,通过Canvas渲染输出最终二维
本文详细剖析了一个导航栏组件的精细化设计过程,从布局结构到微交互细节。导航栏采用三层纵向布局(标题区、图标区、下划线区),通过精心调整的视觉参数(图标缩放1.2倍、未选中项透明度0.3、动画时长350/250ms错落)和独立的下划线动画设计(淡入淡出+EaseOut曲线),实现了既突出焦点又不失整体性的效果。文章特别强调了"微调累积效应"——padding增减2px、动画时长差50ms等小调整叠加
本文详细解析了星空运势应用中"命运转盘"功能的实现原理。转盘由12个星座图标均匀分布在圆形布局中,通过极坐标转换公式计算每个图标的位置坐标(x = rcosθ, y = rsinθ)。技术实现采用三层Stack结构:底层圆形背景、中层定位的星座图标和顶层中心装饰。旋转动画通过.rotate()属性动画实现,设置1800度以上的旋转角度配合EaseOut缓动曲线,使转盘呈现自然减速停止效果。关键点包
本文介绍了骰子应用历史记录页面的实现细节。重点分析了三个核心设计模式: 空状态设计:通过图文提示和操作引导优化用户体验 列表渲染:采用List+ForEach实现高性能滚动,建议添加key参数 数据格式化:手动处理时间戳以保证格式一致性 文章还提供了代码优化建议,如为ForEach添加key、改进空状态交互设计等。这些细节处理对提升应用性能和用户体验具有重要价值。
这篇文章介绍了一个解决"今天吃什么"难题的App,核心功能是通过转盘随机选择美食。App采用单页四Tab架构(转盘、管理、历史、设置),数据模型包括美食项和选择记录。转盘动画使用setTimeout实现,通过逐渐增加间隔时间模拟减速效果,最终随机停止。文章详细解析了动画参数、三种视觉状态以及随机性保证机制,强调视觉随机与实际选择分离的设计优势。按钮状态根据条件变化,确保良好用户体验。整体方案简洁高
消息列表前十条怎么写都能跑,真正麻烦的是后面:分页、已读未读、删除、置顶、加载失败、空态一起出现。HarmonyOS7 里的List很适合承载长内容,但前提是行数据、key 和状态更新方式要稳定。如果只是把一个大数组全量丢进ForEach,再把加载逻辑写得七零八落,页面迟早会不好维护。长列表的第一原则是行可复用、状态可追踪。这篇用一个消息中心做例子,看看ListForEach、稳定 key 和分页