最简单的方法是,如果您只想使用静态列表(我的意思是,您不想在运行时更改它)是从 XML 文件(例如:文件夹model.xml
中的a)加载它assets
,如下所示:
<model>
<header title="Green"/>
<item title="Cucumber"/>
<item title="Peas"/>
<item title="Salad"/>
<header title="Red"/>
<item title="Tomato"/>
<item title="Red Radish"/>
<item title="Carrot"/>
</model>
您的 ListView 只需要加载它:
ListView {
dataModel: XmlDataModel {
source: "model.xml"
}
}
现在,如果您想自定义外观,您只需在 listItemComponents 中输入您希望它们如何显示:
ListView {
dataModel: XmlDataModel {
source: "model.xml"
}
listItemComponents: [
ListItemComponent {
type: "header"
Container {
// your personal code
}
},
ListItemComponent {
type: "item"
Container {
// your personal code
}
}
]
}
这些容器允许您定义自己的布局。例如,假设您只想显示具有匹配背景颜色的标题,您可以这样做:
ListView {
dataModel: XmlDataModel {
source: "model.xml"
}
listItemComponents: [
ListItemComponent {
type: "header"
Container {
background: {
if (ListItemData.title == "Green") {
return Color.Green
} else {
return Color.Red
}
}
Header {
title: ListItemData.title
}
}
},
ListItemComponent {
type: "item"
Container {
preferredHeight: 100
Label {
text: ListItemData.title
verticalAlignment: VerticalAlignment.Center
}
Divider {}
}
}
]
}
希望这能让您了解它是如何工作的。