如何实现悬浮窗桌面穿透

悬浮窗设置不聚焦不触摸,设置半透明,可以穿透操作。

HarmonyOS
2024-05-26 14:33:51
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
e_leaner

使用的核心API

窗口管理

核心代码解释

import display from '@ohos.display'; 
import window from '@ohos.window'; 
import Prompt from '@system.prompt'; 
  
@Entry 
@Component 
struct Index { 
  @State screenWidth: number = 0; 
  @State screenHeight: number = 0; 
  
  aboutToAppear() { 
    this.screenWidth = display.getDefaultDisplaySync().width; 
    this.screenHeight = display.getDefaultDisplaySync().height; 
  } 
  
  build() { 
    Row() { 
      Button("弹窗") 
        .onClick(() => { 
          window.createWindow({ name: "screenDialog", windowType: window.WindowType.TYPE_FLOAT, ctx: getContext(this) }) 
            .then((r) => { 
              r.setUIContent("pages/ScreenPage2").then(() => { 
                r.setWindowBackgroundColor("#00000000") 
                r.resize(this.screenWidth, this.screenHeight).then(() => { 
                  r.showWindow().then(() => { 
                    r.getWindowProperties().isTransparent = true; 
                    r.setWindowTouchable(false) 
                    r.setWindowFocusable(false) 
                  }); 
                }); 
              }); 
            }) 
        }) 
  
      Button("应用内点击").onClick(() => { 
        Prompt.showToast({ message: "应用内点击" }) 
      }) 
    }.justifyContent(FlexAlign.Center).alignItems(VerticalAlign.Center) 
    .height('100%').width('100%') 
  } 
}

适配的版本信息

 IDE:DevEco Studio 4.0.3.600

 SDK:HarmoneyOS 4.0.10.11

分享
微博
QQ
微信
回复
2024-05-27 19:45:55
相关问题
基于子窗口实现应用内悬浮
769浏览 • 1回复 待解决
HarmonyOS 悬浮的圆角怎么处理?
65浏览 • 1回复 待解决
横屏应用如何适配华为悬浮?
2646浏览 • 1回复 待解决
HarmonyOS有没有悬浮组件或者库
424浏览 • 1回复 待解决
HarmonyOS 悬浮拖拽功能怎么处理?
335浏览 • 1回复 待解决
在hsp子模块中如何加载悬浮页面
1939浏览 • 1回复 待解决
使用悬浮和端内want唤醒APP
936浏览 • 1回复 待解决