静的リストのみを使用する場合 (つまり、実行時に変更したくない場合) の最も簡単な方法は、次のように XML ファイル (フォルダー内の a などmodel.xml
)からロードすることです。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 {}
}
}
]
}
これがどのように機能するかについてのアイデアを与えてくれたことを願っています.