前言
前面一篇文章中,已经说了List组件。那么接下来就是容器组件中的Grid组件
使用Grid组件构建网络布局
Grid组件时网格容器,它是由“行”和“列”构成,通过指定不同的项目所在的单元格作出各种各样的布局,包括子组件 GridItem
语法
Grid(scroller?:Scroller)
参数 :scroller控制Grid的滚动
属性
- columnsTemplate
columnsTemplate表示设置当前网络布局列的数量,默认是1列,使用的单位是fr
fr是指划分网格时的比例值
columnsTemplate(1fr,2fr,1fr)表示将Grid分为3列,并将Grid组件的宽4等分
Grid() {
}
.columnsTemplate('1fr 1fr 1fr 1fr')
- rowTemplate
用于设置网格布局行的数量,默认是1列,使用的单位是fr
Grid() {
}
.rowTemplate('1fr 1fr 1fr 1fr')
- columnsGap
设置列与列的间距,单位默认时vp
Grid() {
ForEach(this.arr, (item: string) => {
GridItem() {
Text(item)
.fontSize(16)
.fontColor(Color.White)
.backgroundColor(0x007DFF)
.width('100%')
.height('100%')
.textAlign(TextAlign.Center)
}
}, item => item)
}
.columnsTemplate('1fr 1fr 1fr 1fr')
.rowsTemplate('1fr 1fr 1fr 1fr')
.columnsGap(10)
}
- rowGap
设置行与行之间的间距
Grid() {
ForEach(this.arr, (item: string) => {
GridItem() {
Text(item)
.fontSize(16)
.fontColor(Color.White)
.backgroundColor(0x007DFF)
.width('100%')
.height('100%')
.textAlign(TextAlign.Center)
}
}, item => item)
}
.columnsTemplate('1fr 1fr 1fr 1fr')
.rowsTemplate('1fr 1fr 1fr 1fr')
.columnsGap(10)
.rowsGap(10)