当前位置: 首页 > news >正文

做卡贴质量好的网站网络营销的分类

做卡贴质量好的网站,网络营销的分类,广州网站制作(信科网络),...课程网站建设简介onMeasureSize和PlaceChildren onMeasureSize和PlaceChildren 说明官方使用示例参考资料 onMeasureSize和PlaceChildren 说明 在Android开发中View的测量onMeasure和布局onLayout是自定义组件必备的两个方法,HarmonyOS对自定义布局也提供了两个方法: on…

onMeasureSize和PlaceChildren

  • onMeasureSize和PlaceChildren 说明
  • 官方使用示例
  • 参考资料

onMeasureSize和PlaceChildren 说明

在Android开发中View的测量onMeasure和布局onLayout是自定义组件必备的两个方法,HarmonyOS对自定义布局也提供了两个方法:
onMeasureSize:组件每次布局时触发,计算子组件的尺寸,其执行时间先于onPlaceChildren。注意 不允许在onMeasureSize函数中改变状态变量。
在这里插入图片描述

onPlaceChildren:组件每次布局时触发,设置子组件的起始位置。
在这里插入图片描述
两个方法的参数详细含义参考自定义组件的自定义布局

官方使用示例

以下示例中,Index页面包含一个实现了自定义布局的自定义组件,且对应自定义组件的子组件通过index页面内的builder方式传入。

而在自定义组件中,调用了onMeasureSizeonPlaceChildren设置子组件大小和放置位置。例如,在本示例中,在onMeasureSize中初始化组件大小size=100,后续的每一个子组件size会加上上一个子组件大小的一半,实现组件大小递增的效果。而在onPlaceChildren中,定义startPos=300,设置每一个子组件的位置为startPos减去子组件自身的高度,所有子组件右下角一致在顶点位置(300,300),实现一个从右下角开始展示组件的类Stack组件

// xxx.ets
@Entry
@Component
struct Index {build() {Column() {CustomLayout({ builder: ColumnChildren })}}
}// 通过builder的方式传递多个组件,作为自定义组件的一级子组件(即不包含容器组件,如Column)
@Builder
function ColumnChildren() {ForEach([1, 2, 3], (index: number) => { // 暂不支持lazyForEach的写法Text('S' + index).fontSize(30).width(100).height(100).borderWidth(2).offset({ x: 10, y: 20 })})
}@Component
struct CustomLayout {@BuilderdoNothingBuilder() {};@BuilderParam builder: () => void = this.doNothingBuilder;@State startSize: number = 100;result: SizeResult = {width: 0,height: 0};// 第一步:计算各子组件的大小onMeasureSize(selfLayoutInfo: GeometryInfo, children: Array<Measurable>, constraint: ConstraintSizeOptions) {let size = 100;children.forEach((child) => {let result: MeasureResult = child.measure({ minHeight: size, minWidth: size, maxWidth: size, maxHeight: size })size += result.width / 2;})this.result.width = 100;this.result.height = 400;return this.result;}// 第二步:放置各子组件的位置onPlaceChildren(selfLayoutInfo: GeometryInfo, children: Array<Layoutable>, constraint: ConstraintSizeOptions) {let startPos = 300;children.forEach((child) => {let pos = startPos - child.measureResult.height;child.layout({ x: pos, y: pos })})}build() {this.builder();}
}

运行效果
在这里插入图片描述

参考资料

ConstraintSizeOptions
Measurable10+
自定义组件的自定义布局
自定义组件的自定义布局2

http://www.tj-hxxt.cn/news/63758.html

相关文章:

  • 黄金网站app免费视频大全下载百度网盘app
  • 开网站建设公司开发网站多少钱
  • 怎么用ps做简单网站首页百度seo优化是什么
  • 东莞网站开发定制百度经验实用生活指南
  • 网站建设氵金手指下拉十三share群组链接分享
  • 大网站设计百度关键词优化是什么意思
  • 佛山城市建设工程有限公司官网整站优化
  • 如何自己做网站推广淘宝客校园推广的方式有哪些
  • 贵阳网站建设多少钱株洲seo优化首选
  • 如何把地图放到自己做的网站上域名站长工具
  • 专业做二手健身器材的是什么网站企业网站seo案例
  • 网站建设公司 电话销售没什么效果百度seo营销公司
  • 北京手机网站建设公司排名百度竞价推广效果怎么样
  • 家庭宽带 用443端口做网站seo课培训
  • wordpress放哪个文件夹seo外包方法
  • 包头网站建设推广seo编辑培训
  • 做好网站维护焊工培训内容
  • 伪静态规则wordpress广州seo和网络推广
  • 京东网站的设计特点关键词网站排名查询
  • java的大型网站建设小红书关键词优化
  • 销售网站制作怎么做优秀网页设计赏析
  • 旅游哪个网站最好自己怎么做关键词优化
  • 苏州建设银行官方网站郑州seo价格
  • 武汉做网站的上海seo
  • 微信号 网站模板网络营销文案策划都有哪些
  • 网站认证怎么做项目网
  • 淘宝客做网站链接seo怎么做优化排名
  • 网站建设在线商城沈阳沈河seo网站排名优化
  • 修水县城乡建设局网站如何做好一个品牌推广
  • wordpress建站毕业论文微博营销成功案例8个