往期鸿蒙5.0全套实战文章必看:(文中附带全栈鸿蒙5.0学习资料)
自定义组件的自定义布局
自定义组件的自定义布局用于通过数据计算的方式布局自定义组件内的子组件。
说明
本模块首批接口从API version 9开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。
onPlaceChildren10+
onPlaceChildren?(selfLayoutInfo: GeometryInfo, children: Array<Layoutable>, constraint: ConstraintSizeOptions):void
ArkUI框架会在自定义组件布局时,将该自定义组件的子节点自身的尺寸范围通过onPlaceChildren传递给该自定义组件。不允许在onPlaceChildren函数中改变状态变量。
系统能力: SystemCapability.ArkUI.ArkUI.Full
元服务API: 从API version 11开始,该接口支持在元服务中使用。
参数:
参数名 | 类型 | 说明 |
---|---|---|
selfLayoutInfo | GeometryInfo | 父组件布局信息。 |
children | Array<Layoutable> | 子组件布局信息。 |
constraint | ConstraintSizeOptions | 父组件constraint信息。 |
示例:
示例请参考自定义布局代码示例。
onMeasureSize10+
onMeasureSize?(selfLayoutInfo: GeometryInfo, children: Array<Measurable>, constraint: ConstraintSizeOptions): SizeResult
ArkUI框架会在自定义组件确定尺寸时,将该自定义组件的节点信息和尺寸范围通过onMeasureSize传递给该开发者。不允许在onMeasureSize函数中改变状态变量。
系统能力: SystemCapability.ArkUI.ArkUI.Full
元服务API: 从API version 11开始,该接口支持在元服务中使用。
参数:
参数名 | 类型 | 说明 |
---|---|---|
selfLayoutInfo | GeometryInfo | 父组件布局信息。 |
children | Array<Measurable> | 子组件布局信息。 说明: 如果没有设置子组件的布局信息,子组件会维持上一次的布局信息,当子组件从来没有设置过尺寸时,尺寸默认为0。 |
constraint | ConstraintSizeOptions | 父组件constraint信息。 |
返回值:
类型 | 描述 |
---|---|
SizeResult | 组件尺寸信息。 |