LayoutMirroring
ImportStatement: import QtQuick 2.2
Properties
childrenInherit: bool
enabled :bool
DetailedDescription
LayoutMirroring关联属性用于对组件的锚定进行镜像。在定位器(诸如Row和Grid)和视图(诸如GridView和水平ListView)。镜像是可视化的改变,左锚定改变为右锚定,像Grid和Row这类的定位器,反向水平布局它的子组件。
通过设置enabled属性为真,可以启用镜像,默认情况,它仅仅影响组件自身。设置childrenInherit属性为真,镜像将同样影响所有的子组件。如果LayoutMirroring关联属性没有在组件中定义,镜像不启动。
下面的例子展示了镜像的行为。Row被指定锚定到父的左边,因为镜像被打开,锚定水平反向,他现在锚定到右边。同时,默认Row的水平定位是从左到右,现在是相反的从右到左。具体效果使用组件的透明度和编号展示出来。
importQtQuick 2.0
Rectangle {
LayoutMirroring.enabled: true
LayoutMirroring.childrenInherit: true
width: 300; height: 50
color: "yellow"
border.width: 1
Row {
anchors { left: parent.left; margins: 5}
y: 5; spacing: 5
Repeater {
model: 5
Rectangle {
color: "red"
opacity: (5 - index) / 5
width: 40; height: 40
Text {
text: index + 1
anchors.centerIn: parent
}
}
}
}
}
镜像布局通常用于在不同的语言区域,应用的版本需要同时支持从左到右和从右到左布局的情况。childrenInherit属性允许应用的布局不经过手动设置,就能应用到所有组件。需要注意的是,如果组件通过X坐标值进行了定位,即使我们启用镜像,也不会产生任何影响。这常常需要用一些布局来修复所需的布局方向。同时,如果单独的子组件,其镜像没有产生满意的行为或已经使用定制的方式实现了它的布局,设置子组件的LayoutMirroring.enabled到false来关闭镜像也是可以利用的。
关于LayoutMirroring和其他为一个应用实现右到左支持的关联特性的更多内容,参阅
《Right-to-left User Interfaces》
PropertyDocumentation
childrenInherit: bool
LayoutMirroring.enabled的值是否被子组件继承。默认为假。
enabled :bool
布局是否水平镜像。设置为真则水平反向锚定设置。比如左锚定变成右锚定,右锚定变成左锚定。注意,锚定的属性值不会改变。对于定位器组件(如Row和Grid)和视图组件(如GridView和ListView),镜像同时改变组件的水平布局方向。默认为假。