news 2026/6/24 10:52:24

HarmonyOS6 ArkTS ListItem设置卡片样式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HarmonyOS6 ArkTS ListItem设置卡片样式

文章目录

    • 一、功能说明
    • 二、完整标准代码
    • 三、核心API:ListItem卡片样式枚举
      • 基础创建语法
    • 四、关键用法逐行解析
      • 1. 卡片分组容器(ListItemGroup)
      • 2. 循环批量设置卡片样式
      • 3. 两种展示区域对比
      • 4. 列表通用配置
    • 五、运行效果
    • 总结

一、功能说明

ListItem支持通过style参数配置卡片样式,是鸿蒙系统推荐的列表视觉规范:

  • ListItemStyle.CARD:卡片样式,自带圆角、间距、阴影效果,呈现独立卡片形态
  • ListItemStyle.NONE:默认无样式,无边距、无圆角,整体平铺展示
  • 可与ListItemGroup(CARD)分组卡片容器结合使用
  • 支持同列表内混合样式,满足多样化UI需求

二、完整标准代码

// xxx.ets @Entry @Component struct ListItemExample3 { build() { Column() { List({ space: '4vp', initialIndex: 0 }) { ListItemGroup({ style: ListItemGroupStyle.CARD }) { ForEach([ListItemStyle.CARD, ListItemStyle.CARD, ListItemStyle.NONE], (itemStyle: number, index?: number) => { ListItem({ style: itemStyle }) { Text('' + index) .width('100%') .textAlign(TextAlign.Center) } }) } ForEach([ListItemStyle.CARD, ListItemStyle.CARD, ListItemStyle.NONE], (itemStyle: number, index?: number) => { ListItem({ style: itemStyle }) { Text('' + index) .width('100%') .textAlign(TextAlign.Center) } }) } .width('100%') .multiSelectable(true) .backgroundColor(0xDCDCDC) } .width('100%') .padding({ top: 5 }) } }

运行效果如图:


三、核心API:ListItem卡片样式枚举

官方提供ListItemStyle枚举,用于控制 ListItem 的显示形态:

枚举值说明视觉效果
ListItemStyle.CARD卡片样式自带内外边距、圆角、背景分隔,呈现独立卡片
ListItemStyle.NONE无样式默认平铺效果,无边距、无卡片形态

基础创建语法

// 创建卡片样式ListItem ListItem({ style: ListItemStyle.CARD }) { Text("卡片项") } // 创建无样式ListItem ListItem({ style: ListItemStyle.NONE }) { Text("无样式项") }

四、关键用法逐行解析

1. 卡片分组容器(ListItemGroup)

代码中使用ListItemGroupStyle.CARD创建卡片分组,让内部 ListItem 以统一卡片组展示:

ListItemGroup({ style: ListItemGroupStyle.CARD }) { // 子项自动继承分组卡片风格 }

2. 循环批量设置卡片样式

通过ForEach循环,为不同项设置不同样式,实现混合展示

// 数组定义每个item的样式:CARD、CARD、NONE [ListItemStyle.CARD, ListItemStyle.CARD, ListItemStyle.NONE] // 循环创建ListItem并绑定样式 ForEach(..., (itemStyle: number) => { ListItem({ style: itemStyle }) { ... } })

3. 两种展示区域对比

示例包含两种展示结构

  1. 卡片分组内:ListItem 自带分组圆角 + 自身样式
  2. 普通列表内:ListItem 独立展示卡片/平铺效果

4. 列表通用配置

List({ space: '4vp' }) // 列表项间距 .multiSelectable(true) // 开启多选能力 .backgroundColor(0xDCDCDC) // 背景色

五、运行效果

  1. 页面顶部:卡片分组列表
    • 前两项:带圆角、间距的卡片样式
    • 第三项:无样式、平铺、无卡片效果
  2. 页面下部:普通列表
    • 同样展示 CARD / CARD / NONE 混合样式
  3. 背景为灰色,卡片项为白色,视觉分层清晰
  4. 符合 HarmonyOS 系统级列表设计规范

总结

ListItem 卡片样式是 HarmonyOS 官方提供的标准化UI能力,核心要点:

  1. 通过ListItem({ style: ListItemStyle.CARD })开启卡片样式
  2. 支持 CARD(卡片)/ NONE(无样式)两种形态
  3. 可与ListItemGroup(CARD)实现分组卡片效果
  4. 支持同列表混合使用,灵活适配界面设计

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 10:50:50

【扣子Coze智能体】20秒出提示词模板,轻松写短视频文案

之前有同学问,如何用AI生成短视频文案?我知道,他想要的不是那种AI一句话生成的,而是如何让AI生成一个看起来还不错的文案,然后再自己润色修改。下面就把我的扣子Coze智能体分享给大家,20秒生成对应文案风格…

作者头像 李华
网站建设 2026/6/24 10:49:20

嵌入式Linux构建利器LTIB:从元数据驱动到自动化部署实战

1. LTIB:嵌入式Linux开发者的“瑞士军刀”如果你是一名嵌入式Linux开发者,肯定经历过这样的场景:为了给一块新的开发板构建一个可启动的Linux系统,你需要手动下载、配置、交叉编译U-Boot、Linux内核、BusyBox,还有那一…

作者头像 李华
网站建设 2026/6/5 15:00:08

AI Agent 面试题 891:法律领域Agent的文档分析和合同审查应用

🔥 AI Agent 面试题 891:法律领域Agent的文档分析和合同审查应用摘要:本文深入解析了「法律领域Agent的文档分析和合同审查应用」这一 AI Agent 领域的核心面试题。文章从 垂直行业应用 的基本概念出发,系统性地剖析了 法律Agent、…

作者头像 李华
网站建设 2026/6/7 15:29:34

基于深度学习的古籍插图自动识别与提取技术

1. 项目概述在数字化时代,历史手稿的大规模扫描和存档为学术研究带来了前所未有的机遇。然而,面对数以百万计的数字化页面,传统的人工分析方法显得力不从心。特别是在处理手稿中的插图时,如何高效地识别、提取和分析这些视觉元素&…

作者头像 李华