作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
和 ListView 一样,GridView 也是基于 Flickable 的视图组件,它们的用法非常相似。不同的是,ListView 中的元素被存储在线性链表中,并以单列(或单行)的形式进行展示的,因此适用于垂直(或水平)列表的场景;而 GridView 中的元素则被存储在一个二维数组中,并以网格的形式进行展示的,因此更适用于具有二维结构或以网格方式呈现的场景,如相册图库、视频列表、工具导航等。
前面我们已经多次分享过 ListModel 的用法,而 XML 作为一种常见的数据格式,其使用场景也十分广泛,因此有必要介绍一下基于 XML 的模型 XmlListModel。下面,我们就以相册为列,结合 XmlListModel 来分享 GridView 的用法。
基本用法
定义 XML 数据
我们知道,相册是由多张照片组成的,而每一张照片都有大小、存储路径、日期等属性。如果用 XML 文档(photos.xml)表示,就是下面这样:
<?xml version="1.0" encoding="utf-8"?>