HarmonyOS 多模块下悬浮窗显示不出来

HarmonyOS  多模块下悬浮窗显示不出来。

HarmonyOS
2024-09-26 13:24:11
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zbw_apple

har包代码:

悬浮窗展示页。

import { window } from '@kit.ArkUI';  
interface Position {  
  x: number,  
  y: number  
}  
@Component  
export struct MainPage {  
  @State message: string = '悬浮窗'  
  private panOption: PanGestureOptions = new PanGestureOptions({ direction: PanDirection.All });  
  @State @Watch("moveWindow") windowPosition: Position = { x: 0, y: 0 };  
  floatWindow: window.Window | null = null;  
  build() {  
    Row() {  
      Text(this.message)  
    }.width('100%').height('100%')  
    .gesture(  
      PanGesture(this.panOption)  
        .onActionStart((event: GestureEvent) => {  
          console.info('Pan start');  
        })  
        .onActionUpdate((event: GestureEvent) => {  
          this.windowPosition.x += event.offsetX;  
          this.windowPosition.y += event.offsetY;  
        })  
        .onActionEnd(() => {  
          console.info('Pan end');  
        })  
    )  
    .border({  
      style: BorderStyle.Dotted  
    })  
    .backgroundColor(Color.Yellow)  
  }  
  moveWindow() {  
    (this.floatWindow as window.Window).moveWindowTo(this.windowPosition.x, this.windowPosition.y);  
  }  
  aboutToAppear() {  
    this.floatWindow = window.findWindow("floatWindow")  
  }  
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.

oh-package.json5 导入har包。

"dependencies": {  
  "myhar": 'file:../har'  
}
  • 1.
  • 2.
  • 3.

harPage页面。

import { MainPage } from 'myhar'  
@Entry  
@Component  
struct HarPage {  
  build() {  
    Column(){  
      MainPage()  
    }  
  }  
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

entry:

启动悬浮框。

onWindowStageCreate(windowStage: window.WindowStage): void {  
  // 1.创建悬浮窗。  
  let windowClass: window.Window | null = null;  
  let config: window.Configuration = {  
    name: "floatWindow", windowType: window.WindowType.TYPE_FLOAT, ctx: this.context  
  };  
  window.createWindow(config, (err: BusinessError, data) => {  
  let errCode: number = err.code;  
  if (errCode) {  
    console.error('Failed to create the floatWindow. Cause: ' + JSON.stringify(err));  
    return;  
  }  
  windowClass = data;  
  // 2.悬浮窗窗口创建成功后,设置悬浮窗的位置、大小及相关属性等。  
  windowClass.moveWindowTo(300, 300, (err: BusinessError) => {  
  let errCode: number = err.code;  
  if (errCode) {  
    console.error('Failed to move the window. Cause:' + JSON.stringify(err));  
    return;  
  }  
});  
windowClass.resize(600, 600, (err: BusinessError) => {  
  let errCode: number = err.code;  
  if (errCode) {  
    console.error('Failed to change the window size. Cause:' + JSON.stringify(err));  
    return;  
  }  
});  
// 3.为悬浮窗加载对应的目标页面。  
windowClass.setUIContent("pages/harPage", (err: BusinessError) => {  
  let errCode: number = err.code;  
  if (errCode) {  
    console.error('Failed to load the content. Cause:' + JSON.stringify(err));  
    return;  
  }  
  console.info('Succeeded in loading the content.');  
  // 3.1.显示悬浮窗。  
  (windowClass as window.Window).showWindow((err: BusinessError) => {  
    let errCode: number = err.code;  
    if (errCode) {  
      console.error('Failed to show the window. Cause: ' + JSON.stringify(err));  
      return;  
    }  
  });  
});  
});  
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
分享
微博
QQ
微信
回复
2024-09-26 17:31:28
相关问题
HarmonyOS scrollbar显示不出来
755浏览 • 1回复 待解决
HarmonyOS 加载html,图片显示不出来
973浏览 • 1回复 待解决
HarmonyOS 地图加载不出来,只显示背景
1811浏览 • 1回复 待解决
HarmonyOS list最后一个显示不出来
945浏览 • 1回复 待解决
HarmonyOS 地图加载不出来
1041浏览 • 1回复 待解决
HarmonyOS Lottie动画加载不出来
874浏览 • 1回复 待解决
HiLog日志打印不出来?
12213浏览 • 3回复 已解决
开启混淆后,卡片加载不出来
7208浏览 • 1回复 待解决
HarmonyOS web组件接入链接渲染不出来
714浏览 • 1回复 待解决
HarmonyOS 如何跨模块启动悬浮
810浏览 • 1回复 待解决