当前位置: 首页 > news >正文

HarmonyOS6 ArkTS List 设置边缘渐隐

文章目录

    • 一、功能概述
    • 二、 API
      • fadingEdge(value: boolean, option?: FadingEdgeOption)
        • 参数说明
    • 三、完整可运行代码
    • 四、代码核心配置解析
      • 1. 开启边缘渐隐
      • 2. 配置渐隐长度(官方标准写法)
      • 3. 生效规则
    • 总结

一、功能概述

边缘渐隐(Fading Edge)是 List 组件的官方视觉增强属性,用于在列表顶部、底部(垂直列表)或左侧、右侧(水平列表)生成自然的渐变透明效果,让列表滚动边界更柔和、更具层次感,避免列表内容生硬截断。

  • 核心属性:fadingEdge
  • 作用:为 List 滚动边缘添加渐隐效果
  • 适用场景:长列表、滚动容器、卡片列表
  • 支持版本:API 15+ / HarmonyOS 6

二、 API

fadingEdge(value: boolean, option?: FadingEdgeOption)

为 List 组件开启/关闭边缘渐隐

参数说明
  1. value: boolean

    • true:开启边缘渐隐
    • false:关闭边缘渐隐(默认)
  2. option?: FadingEdgeOption(可选配置)

    • fadingEdgeLength: LengthMetrics:设置渐隐区域长度
    • 单位推荐使用LengthMetrics.vp(数值)进行标准化设置

三、完整可运行代码

import { LengthMetrics } from '@kit.ArkUI' import { ListDataSource } from './ListDataSource'; @Entry @Component struct ListExample { private arr: ListDataSource=new ListDataSource([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]); scrollerForList: Scroller = new Scroller(); build() { Column() { List({ space: 20, initialIndex: 0, scroller: this.scrollerForList }) { LazyForEach(this.arr, (item: number) => { ListItem() { Text('' + item) .width('100%').height(100).fontSize(16) .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) } }, (item: number) => item.toString()) } .fadingEdge(true, { fadingEdgeLength: LengthMetrics.vp(80) }) } .width('100%') .height('100%') .backgroundColor(0xDCDCDC) .padding({ top: 5 }) } }

运行效果如图:

当鼠标拖动向上时:


四、代码核心配置解析

1. 开启边缘渐隐

.fadingEdge(true)

直接启用列表默认边缘渐隐效果。

2. 配置渐隐长度(官方标准写法)

.fadingEdge(true, { fadingEdgeLength: LengthMetrics.vp(80) })
  • LengthMetrics.vp(80):设置渐隐长度为 80vp
  • 数值越大,渐隐区域越长,过渡越柔和

3. 生效规则

  • 垂直列表:渐隐效果出现在顶部 + 底部
  • 水平列表:渐隐效果出现在左侧 + 右侧
  • 内容未超出容器时,渐隐自动不显示
  • 滚动时渐隐自动显示

总结

  1. 必须给 List 设置明确高度/宽度,否则无法滚动,渐隐不生效。
  2. 必须使用 LengthMetrics定义渐隐长度,符合鸿蒙标准化语法。
  3. 渐隐效果由系统渲染,不影响布局、不影响事件
  4. 配合长列表使用,视觉体验最优。
    fadingEdge是 HarmonyOS6 官方提供的List 边缘渐隐标准属性,能够快速实现滚动边界的柔和渐变效果,提升应用视觉品质。

只需一行代码即可开启:

.fadingEdge(true, { fadingEdgeLength: LengthMetrics.vp(80) })

如果这篇文章对你有帮助,欢迎点赞、收藏、关注,你的支持是持续创作的动力!

http://www.jsqmd.com/news/538522/

相关文章:

  • League-Toolkit:智能全流程英雄联盟辅助工具,提升玩家游戏体验
  • 2026伺服电缸批发好选择,这些厂家电话快记好,伺服电缸/TBI丝杆/上银模组/自动化零件,伺服电缸定制厂家找哪家 - 品牌推荐师
  • 给浏览器画个圈:CSS contain 如何让页面从“卡成PPT”变“丝滑如德芙”
  • 2026年企业管理软件深度解析:从用友、金蝶到小管家的差异化选择 - 深度智识库
  • 如何快速部署缠论可视化平台:基于TradingView本地SDK的终极解决方案
  • 浏览器3D模型查看器完整指南:免费在线查看CAD、STL、GLB文件
  • AI算法Excel可视化终极指南:如何用电子表格深度解析人工智能原理
  • OpenClaw+GLM-4.7-Flash:技术面试题自动生成与评估系统
  • 避开这些坑!TextMeshPro竖排文字的正确姿势(含EnableRTLEditor详解)
  • Janus-Pro-7B国产适配:支持麒麟/UOS系统+昇腾/海光平台部署路径
  • kubenetes从入门到上天系列第二十四篇:Kubernetes Pod的自动扩缩容
  • 豆包AI生成 —— 强化学习 —— TRPO算法
  • Llama-3.2V-11B-cot开源大模型实战教程:双卡4090环境下11B视觉模型快速调用
  • 基于Python的宠物商城网站毕业设计
  • 从Win10到Copilot:一文搞懂系统更新、硬件要求及AI助手完整配置流程
  • 测试行业“内卷”报告:哪些岗位还在涨薪?
  • 合肥金融雨桥 个人/企业融资顾问介绍: - 野榜精选
  • 别再到处找教程了!手把手教你用艾可API密钥配置Sider,5分钟搞定GPT-4o模型接入
  • CardEditor:3MB小工具解决桌游卡牌批量制作大难题
  • 在Ubuntu 20.04上为工业机器人搭建实时内核与EtherCAT主站:我的踩坑与避坑全记录
  • 排序算法---(一)
  • Universal-IFR-Extractor:UEFI固件分析工具的终极实战指南
  • 抖音无水印视频批量采集开源工具:3大突破实现内容获取全流程效率提升90%
  • STM32板级支持包实战:从GPIO配置到LED控制全流程解析
  • 3个实战技巧快速掌握英雄联盟智能工具集League Akari
  • C# 实现 Modern Standby 模式下的电源事件精准监听(Sleep 状态)
  • Aider Repo Map 功能实战:如何一键生成并保存整个项目的代码地图(附常见问题排查)
  • FanControl:实现散热智能化的全面解决方案
  • Wan2.2-I2V-A14B部署教程:多用户隔离+权限控制+日志监控配置
  • ArduPilot自定义参数实战:手把手教你让飞控向地面站“说话”(打印参数值)