布局
Kanzi 中有三种类型的布局:
- 基于子节点位置和大小的布局,例如流式布局 (Flow Layout)、网格布局 (Grid Layout)、堆栈布局 (Stack Layout)和轨迹布局 (Trajectory Layout)节点。例如,当内容的数量不断地动态变化时,这些布局会非常有用。
- 用于显示特定内容和通常将内容居中放置的内容控件,例如图像 (Image)节点和按钮 (Button)节点。
- 用作容器以便将子节点分组的绝对定位控件,例如2D 视口 (Viewport 2D)和2D 空节点 (Empty Node 2D)节点。
您可以使用布局节点安排节点相对于应用程序屏幕和其他节点的位置。布局包括属性对齐、边距及布局尺寸,既可针对某个节点特别定义,也可通过特定布局容器定义施加于所有子节点上的通用规则。请参阅 布局控制节点。
通用布局属性
要将项放到 Kanzi 应用程序中的合适位置,您可以使用这些变换类型:
- 布局变换是在应用布局通道前对项进行变换。
- 渲染变换是在应用布局通道后、渲染前对项进行变换。 Kanzi 在应用布局变换后应用渲染变换,不会影响布局计算。例如,这可以让您在布局中动画化节点,不会导致布局重新计算。
布局控制节点(例如堆栈布局 (Stack Layout) 和网格布局 (Grid Layout)节点)将自身的变换应用在所有直接子节点上,在直接子节点上考虑各自子节点、布局变换、边距和对齐来定义各自的布局。
- 对齐定义布局的重心。例如,将水平对齐 (Horizontal Alignment) 属性设为右对齐 (Right) 以使节点与父布局的右侧对齐。将对齐属性设为拉伸 (Stretch) 后,节点会拉伸至其父级布局的尺寸。布局内容拉伸 (Layout Content Stretch) 属性可用于指定布局如何处理其内容。
- 边距限制对象相对于其父级布局边框的间距。例如,设置水平边距 (Horizontal Margin) 属性来设置节点左右两侧相对于其父级布局的间距。
- 布局属性重写节点的边框尺寸。默认布局尺寸由节点尺寸基于其边框和边距定义。
例如,在 x 轴方向上设置的堆栈布局 (Stack Layout) 节点根据尺寸(边框)将其两个子节点相邻放置。使用布局宽度 (Layout Width) 属性可以重写边框的宽度:值小于节点尺寸时节点重叠,值大于节点尺寸时两个节点之间的间隔扩大。
所有布局任务完成后,Kanzi 应用父节点的最终变换。如屏幕 (Screen) 下的RootPage 节点是2D 视口 (Viewport 2D) 或2D 空节点 (Empty Node 2D),其布局有特殊规则。继承定义的屏幕尺寸,由布局属性定义除外。
另请参阅
属性系统
资源管理
打开导航