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

宣城网站建设价格网页制作学习

宣城网站建设价格,网页制作学习,庐江网站制作,网站手机版怎么做一、背景 在开发过程中,获取组件的宽高和位置信息是一个常见的需求。本文将介绍几种获取组件宽高和位置的方法,并通过代码示例详细说明如何使用这些方法。 二、获取方式 2.1、使用 getRectangleById getRectangleById 方法可以获取组件的大小、位置、…

一、背景

在开发过程中,获取组件的宽高和位置信息是一个常见的需求。本文将介绍几种获取组件宽高和位置的方法,并通过代码示例详细说明如何使用这些方法。

二、获取方式

2.1、使用 getRectangleById

getRectangleById 方法可以获取组件的大小、位置、平移、缩放、旋转以及仿射矩阵等属性信息。使用该方法时,首先需要通过 UIContext 中的 getComponentUtils() 方法获取 ComponentUtils 对象,然后通过该对象调用 getRectangleById 方法。

代码示例

import { componentUtils } from '@kit.ArkUI'@Entry
@Component
struct GetRectangleByIdPage {private arr: number[] = [0, 1, 2, 3, 4, 5]build() {Column() {List({ space: 20, initialIndex: 0 }) {ForEach(this.arr, (item: number) => {ListItem() {Text('' + item).width('100%').height(100).fontSize(16).textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF).id(item.toString())}}, (item: string) => item)}.listDirection(Axis.Vertical) // 排列方向.scrollBar(BarState.Off).friction(0.6).divider({ strokeWidth: 2, color: 0xFFFFFF, startMargin: 20, endMargin: 20 }) // 每行之间的分界线.edgeEffect(EdgeEffect.Spring) // 边缘效果设置为Spring.width('90%')Button('获取点击组件的位置').onClick(()=>{let obj = componentUtils.getRectangleById('4');console.log('lucy== obj',JSON.stringify(obj))})}.width('100%').height('100%').backgroundColor(0xDCDCDC).padding({ top: 5 })}
}

输出结果

点击按钮后,控制台会输出对应组件的大小及位置信息: 

lucy== obj {"size":{"width":972,"height":312.5},"localOffset":{"x":0,"y":0},"windowOffset":{"x":54,"y":1636},"screenOffset":{"x":54,"y":1636},"translate":{"x":0,"y":0,"z":0},"scale":{"x":1,"y":1,"z":1,"centerX":15552,"centerY":5008},"rotate":{"x":0,"y":0,"z":0,"angle":0,"centerX":15552,"centerY":5008},"transform":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}

2.2、使用 onAreaChange

onAreaChange 方法在组件区域变化时触发回调。该方法仅会响应由布局变化所导致的组件大小、位置发生变化时的回调。

代码示例


@Entry
@Component
struct GetRectangleByIdPage {build() {Text('哈咯呀').onAreaChange((oldValue: Area, newValue: Area) =>{console.log('lucy== oldValue',JSON.stringify(oldValue))console.log('lucy== newValue',JSON.stringify(newValue))})}
}

输出结果

当组件区域发生变化时,控制台会输出变化前后的宽高及位置信息:

//其中newValue返回目标元素变化之后的宽高以及目标元素相对父元素和页面左上角的坐标位置。lucy== oldValue {"pos":{"x":0,"y":0},"position":{"x":0,"y":0},"globalPos":{"x":0,"y":0},"globalPosition":{"x":0,"y":0},"width":0,"height":0}lucy== newValue {"pos":{"x":0,"y":0},"position":{"x":0,"y":0},"globalPos":{"x":0,"y":38.72},"globalPosition":{"x":0,"y":38.72},"width":48,"height":18.88}

2.3、使用 onSizeChange

onSizeChange 方法在组件区域变化时触发回调,主要用于获取组件的宽高信息。

代码示例


@Entry
@Component
struct GetRectangleByIdPage {build() {Text('哈咯呀').onSizeChange((oldValue: SizeOptions, newValue: SizeOptions) =>{console.log('lucy== oldValue',JSON.stringify(oldValue))console.log('lucy== newValue',JSON.stringify(newValue))})}
}

输出结果

当组件大小发生变化时,控制台会输出变化前后的宽高信息:

lucy== oldValue {"width":0,"height":0}lucy== newValue {"width":48,"height":18.88}

2.4、总结

  • getRectangleById:适用于需要获取组件的详细属性信息,包括大小、位置、平移、缩放、旋转等。

  • onAreaChange:适用于监听组件区域变化,获取变化前后的宽高及位置信息。

  • onSizeChange:适用于监听组件大小变化,获取变化前后的宽高信息。

根据具体需求选择合适的方法,可以更高效地获取组件的宽高和位置信息。

http://www.cadmedia.cn/news/10416.html

相关文章:

  • 和优网站建网站建设网站的推广方案的内容有哪些
  • 照明设计师南京seo推广
  • 微信网页上的网站怎么做的广州网页搜索排名提升
  • 盐城seo网站优化软件aso关键词排名优化是什么
  • 羽毛球赛事直播app14个seo小技巧
  • wordpress 国际化 mo青岛seo网络推广
  • 如何承接设计网站建设优化关键词排名
  • 南昌做网站的推广公司好做吗
  • 代理ip多少钱一个月seo的培训课程
  • 沈阳百度seo排名优化软件seo广告优化
  • 电子 公司 网站建设百度快照怎么做
  • 广州外贸营销网站建设公司北京官方seo搜索引擎优化推荐
  • 跨境电商平台下载西安seo工作室
  • 网站建设20推广网站怎么建立
  • 网络规划设计师和信息系统项目管理师哪个好考国内seo公司
  • 湖南网站推广营销设计baidu百度首页官网
  • 贵州网站建设套餐哈尔滨seo优化公司
  • 微梦网站建设营销怎么做
  • 做淘宝还是做网站国外域名注册平台
  • onethink做的企业网站行业门户网站推广
  • 泉州营销型网站建设模板建站
  • 深圳最新疫情报告快速排名优化公司
  • 网站综合开发怎么做北京网站建设公司案例
  • 保定网站制作哪家好建设成都新闻今日最新消息
  • 涉县移动网站建设价格百度网站关键词优化
  • wordpress主题发布百度关键词seo优化
  • 香港外贸网站建设aso优化重要吗
  • mip网站建设公司seo免费优化软件
  • 焦作网站建设哪家权威全网整合营销推广方案
  • 莱芜东风街吧百度贴吧学seo优化