HarmonyOS 鸿蒙Next获取WindowProperties.drawableRect值都是0
HarmonyOS 鸿蒙Next获取WindowProperties.drawableRect值都是0
在EntryAbility.ts中,写如下代码
onWindowStageCreate(windowStage: window.WindowStage): void {
let windowClass = windowStage.getMainWindowSync()
let myproperty=windowClass.getWindowProperties()
let myrect=myproperty.drawableRect
…
}
得到的myrect,left,top,width,height都是0,看文档应该是得到可绘制的区域,是不是我哪里搞错了?
关于HarmonyOS 鸿蒙Next获取WindowProperties.drawableRect值都是0的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。
更多关于HarmonyOS 鸿蒙Next获取WindowProperties.drawableRect值都是0的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next获取WindowProperties.drawableRect值都是0的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
参考如下demo:
[@Entry](/user/Entry) [@Component](/user/Component) struct ScrollImagePage { scroller: Scroller = new Scroller() [@State](/user/State) winHeight: Length = '' [@State](/user/State) viewHeight: Length = '' [@State](/user/State) offsetY: Length = ''
aboutToAppear(): void { window.getLastWindow(getContext(this), (err, win) => { let prop = win.getWindowProperties() this.winHeight = prop.drawableRect.height // px }); }
build() { Scroll(this.scroller) { Column() { Text(‘第一个View’).height(400).backgroundColor(Color.Orange) Text(‘第二个View’).height(400).backgroundColor(Color.Green) Image($r(‘app.media.app_icon’)).height(400) .onAreaChange((oldValue: Area, newValue: Area) => { this.viewHeight = vp2px(Number(newValue.height)) // 将vp转成px if (newValue.globalPosition.y) { this.offsetY = vp2px(Number(newValue.globalPosition.y)) // 将vp转成px } }) Text(‘第三个View’).height(400).backgroundColor(Color.Blue) Text(‘文本’).height(400) } .width(‘100%’) } .onScrollStop(() => { // 91指的是导航条的高度,126指的是状态栏的高度,通过on(‘avoidAreaChange’)方法获取 let diff = Number(this.winHeight) - Number(this.viewHeight) - 91 if (this.offsetY > 126 && this.offsetY < diff) { console.log('onScrollStop offsetY ==> ’ + this.offsetY) } }) .scrollBar(BarState.Off) .width(‘100%’) .height(‘100%’) } }
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>