OpenHarmony开发者论坛
标题:
openharmony 4.0中,通过程序改变XComponent 大小出错
[打印本页]
作者:
xulegend
时间:
2024-4-12 11:00
标题:
openharmony 4.0中,通过程序改变XComponent 大小出错
[md]如下面的代码,目的是当事件来了后,改变xComponent的with,但发现通过下面的 incomingMsg 把size改成100%后,xComponent的大小没有改变。
private surfaceId : string =''
@State width_: string="50%"
xcomponentController: XComponentController = new XComponentController()
build() {
Row() {
XComponent({
id: 'xcomponent',
type: 'surface',
controller: this.xcomponentController
})
.onLoad(() => {
this.xcomponentController.setXComponentSurfaceSize({surfaceWidth:1920,surfaceHeight:1080});
this.surfaceId = this.xcomponentController.getXComponentSurfaceId()
})
.width(this.width_)
.height('480px')
}
.backgroundColor(Color.Black)
.position({x: 0, y: 48})
}
incomingMsg():void {
```
if(width_ == '100%') {
width_ = '50%'
} else {
width_ = '100%'
}
```
}
[/md]
作者:
hyacinth养花人
时间:
2024-4-12 18:23
标题:
openharmony 4.0中,通过程序改变XComponent 大小出错
[md]```
@Entry
@Component
struct Page {
private surfaceId : string =''
@State width_: string="50%"
xcomponentController: XComponentController = new XComponentController()
build() {
Row() {
Button('toggle').onClick(()=>{
this.incomingMsg();
})
XComponent({
id: 'xcomponent',
type: 'surface',
controller: this.xcomponentController
})
.onLoad(() => {
this.xcomponentController.setXComponentSurfaceSize({surfaceWidth:1920,surfaceHeight:1080});
this.surfaceId = this.xcomponentController.getXComponentSurfaceId()
})
.width(this.width_)
.height('480px')
}
.backgroundColor(Color.Black)
.position({x: 0, y: 48})
}
incomingMsg():void {
if(this.width_ == '100%') {
this.width_ = '50%'
} else {
this.width_ = '100%'
}
}
}
```
可以动态改变大小呀。
你的incomingMsg是怎么触发的呢?
[/md]
作者:
xulegend
时间:
2024-6-5 17:06
回复
hyacinth养花人
: 我通过定时器,去调用 incomingMsg(),发现界面上 xComponent 的大小不会变。
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5