可以的,OpenHarmony(ArkUI)里的列表组件是完全支持自定义的。下面按常见场景给你梳理一下。
OpenHarmony 中常用的列表组件是:
以 ArkTS(推荐方式) 为例:
List() {
ForEach(this.data, (item) => {
ListItem() {
Text(item)
.fontSize(16)
}
})
}
这是最常用、也是最重要的自定义方式。
你可以把 ListItem 里换成任意组件组合:
ListItem() {
Row() {
Image(item.icon)
.width(40)
.height(40)
Column() {
Text(item.title).fontSize(16)
Text(item.desc).fontSize(12).fontColor('#999')
}
.margin({ left: 10 })
}
}
@Component
struct MyItem {
@Prop title: string
build() {
Row() {
Text(this.title)
}
}
}
List() {
ForEach(this.data, (item) => {
ListItem() {
MyItem({ title: item })
}
})
}
List() {
// items
}
.divider({ strokeWidth: 1, color: '#eee' })
List({ space: 10 }) {
// items
}
.listDirection(Axis.Horizontal)
List({ space: 12 }) {
// items
}
ListItem()
.onClick(() => {
console.log('clicked')
})
onLongPressListItem() {
// content
}
.swipeAction({
end: {
action: () => {
// delete
},
content: Text('删除')
}
})
ListItemGroup({ header: 'Group1' }) {
ListItem() { Text('A') }
ListItem() { Text('B') }
}
Refresh 组件onScrollIndex使用 Scroll + ForEach 模拟列表(适合极度特殊需求)
✅ OpenHarmony 列表可以自定义
✅ 支持:布局、样式、交互、分组、滑动
✅ 推荐方式:List + 自定义 Item 组件
如果你有具体需求(比如:仿微信列表 / 侧滑删除 / 瀑布流 / 聊天列表),可以直接说,我可以给你写完整示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。