.gu 代表什么?
例如:
ConditionalLayout {
name: "row"
when: layouts.width > units.gu(50) //right here
Row {
anchors.fill: parent etc....
答案1
gu 是 grid unit 的缩写。
来自用户界面手册:
测量单位
定义了一个新的测量单位,称为网格单元,缩写为 gu。1 个网格单元转换为给定数量的像素,具体取决于显示用户界面的屏幕类型。例如,在笔记本电脑上,1 个网格单元通常转换为 8 个像素。每个网格单元的像素数的选择是为了保留 UI 元素的感知视觉大小,因此取决于显示器的密度和用户与屏幕的距离。我们还确保 1 个网格单元始终是整数像素数。
例子
- 大多数笔记本电脑 1 gu = 8 px
- Retina 笔记本电脑 1 gu = 16 px
- 4 英寸高清分辨率屏幕手机(约 720x1,280 像素)1 gu = 18 px
- 10 英寸高清分辨率平板电脑(约 720x1,280 像素)1 gu = 10 px
因此,如果您根据 GU 进行所有测量,则每个设备都会按预期显示。
例子
如果位图的目标大小为 10 gu * 10 gu,而开发人员的目标设备每网格单元有 18 个像素(1 gu = 18 px),则仍应按 1 gu = 30 px 创建位图,从而得到 300 px * 300 px 的位图。在设备上测试时,位图将缩小 30 / 18 = 1.66667 倍。
额外:对于小于 1 像素的测量,您可以以相同的方式使用“units.dp”。