布局属性
运用布局属性,我们可以改控件的大小、位置、动态位置。
那么,我们开始讲布局属性吧!
size 属性吧。
其中,矢量的坐标(X/Y轴)值可以是:
警告
X轴百分比,Y轴百分比不能同时在同个属性中使用!
错误示例: ["100%y","100%x"]
同时,数组中的坐标值可以进行简单的加减运算。
运算时,数组中的坐标值必须使用字符串进行运算。提示
像素大小在运算中必须带 "px" !
接下来我们讲下offset 属性数字值吧。
其中,数组中的坐标值与 size 属性一致,详见 坐标值类型表格 >
"control": {
"anchor_from": "center",
"anchor_to": "center"
}
属性
属性 | 属性名 | 值 | 默认值 | 描述 |
---|---|---|---|---|
size | 大小 | 数组:矢量[x,y] | [0,0] | 详见 控件大小 > |
offset | 偏移量 | 数组:矢量[x,y] | [0,0] | 详见 偏移量 > |
layer | 层级 | 整数 | 0 | 控件的层级,相对于父控件。层级高的控件会显示在前方,同时也允许负数层级。 |
min_size | 最小大小 | 数组:矢量[x,y] | [0,0] | 规定该控件最小的大小。如果 size < min_size ,则 size 使用 min_size 作为大小。 坐标轴详见 控件大小 > |
max_size | 最大大小 | 数组:矢量[x,y] | [0,0] | 规定该控件最大的大小。如果 size > max_size ,则 size 使用 max_size 作为大小。 坐标轴详见 控件大小 > |
anchor_from | 父锚点 | 字符串 | center | 规定该控件的父锚点。 详见 锚点定位 > |
anchor_to | 子锚点 | 字符串 | center | 规定该控件的子锚点。 详见 锚点定位 > |
inherit_max_sibling_width | 使用最大的同胞控件的宽度 | 布尔值 | false | 是否使用最大的同胞控件的宽度。 |
inherit_max_sibling_height | 使用最大的同胞控件的高度 | 布尔值 | false | 是否使用最大的同胞控件的高度。 |
use_anchored_offset | 使用锚点 | 布尔值 | false | 是否让子控件使用该控件的锚点。 |
follows_cursor | 跟随光标 | 布尔值 | false | 控件是否能跟随光标。 |
draggable | 拖动 | 字符串:列举 | not_draggable | 是否能拖动控件。 注意:拖动属性仅适用于互动性控件 列举的值可以是: |
控件大小
接下来我们讲下其中,矢量的坐标(X/Y轴)值可以是:
像素
默认
百分比
子控件百分比
最大子控件百分比
最大兄弟控件百分比
填充
Y轴百分比
X轴百分比
值 | 示例 | 描述 | |
---|---|---|---|
像素 | 数字 或 字符串 | [2,2] ["2px","2px"] | 像素大小。 通常情况可以忽略 "px"。 |
默认 | 字符串 | ["default","default"] | 使用默认的控件大小。 |
百分比 | 字符串 | ["100%","50%"] | 相对于父控件占比。 |
子控件百分比 | 字符串 | ["100%c","50%c"] | 相对于子控件大小的百分比。 为 "100%c" 时,该控件大小 = 相对于子控件的大小; 为 "50%c" 时,该控件大小 = 50% 相对于子控件的大小。 |
最大子控件百分比 | 字符串 | ["100%cm","50%cm"] | 相对于子控件大小的百分比。 为 "100%cm" 时,该控件大小 = 相对于最大子控件的大小; 为 "50%cm" 时,该控件大小 = 50% 相对于最大子控件的大小。 |
最大兄弟控件百分比 | 字符串 | ["100%sm","50%sm"] | 相对于兄弟控件大小的百分比。 为 "100%sm" 时,该控件大小 = 相对于最大兄弟控件的大小; 为 "50%sm" 时,该控件大小 = 50% 相对于最大兄弟控件的大小。 |
填充 | 字符串 | ["fill","fill"] | 填充至父控件剩余大小。 该类型常用于父控件类型为 stack_panel 的控件。 |
X轴百分比 | 字符串 | [10,"100%x"] | 相对于X轴大小的百分比。 仅 Y轴 可用! |
Y轴百分比 | 字符串 | ["100%y",10] | 相对于Y轴大小的百分比。 仅 X轴 可用! |
X轴百分比,Y轴百分比不能同时在同个属性中使用!
错误示例: ["100%y","100%x"]
运算时,数组中的坐标值必须使用字符串进行运算。
例如:"100%-20px" "100%+100%c"
像素大小在运算中必须带 "px" !
偏移量
偏移基于父元素的左上角,因此正方向为右下方(即负-y正+x,第四象限)。接下来我们讲下
其中,数组中的坐标值与 size 属性一致,详见 坐标值类型表格 >
锚点定位
锚点,能让控件对齐到某个方向点,在该点的基础上,偏移、动画会将以此作为原点。
锚点有以下几种方向:
值 | 描述 |
---|---|
top_left | 左上角 |
top_middle | 正上方 |
top_right | 右上角 |
left_middle | 正左方 |
center | 正中间 |
right_middle | 正右方 |
bottom_left | 左下角 |
bottom_middle | 正下方 |
bottom_right | 右下角 |
总得来说,锚点位置位置如下:
top_left | top_middle | top_right |
left_middle | center | right_middle |
bottom_left | bottom_middle | bottom_right |
对于
一般
那么