如何实现悬浮窗桌面穿透

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

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
相关问题
基于子窗口实现应用内悬浮
185浏览 • 1回复 待解决
横屏应用如何适配华为悬浮?
1179浏览 • 1回复 待解决
在hsp子模块中如何加载悬浮页面
597浏览 • 1回复 待解决
使用悬浮和端内want唤醒APP
486浏览 • 1回复 待解决
如何实现 app 内置全局悬浮球功能?
734浏览 • 1回复 待解决
如何实现全局浮效果
732浏览 • 1回复 待解决
如何阻止Flex容器鼠标事件穿透
775浏览 • 1回复 待解决
api6如何实现点击桌面卡片弹出提示
1861浏览 • 1回复 待解决
音乐播放悬浮按钮该如何布局?
383浏览 • 1回复 待解决
实况文档是否发布?
1081浏览 • 1回复 待解决
组件有没有支持事件穿透的属性
640浏览 • 1回复 待解决
创建子如何设置最大化最小化按键
690浏览 • 1回复 待解决
WINCE设备如何桌面PC的MYSQL通信?
1114浏览 • 1回复 待解决
如何配置桌面图标的快速启动图标
603浏览 • 1回复 待解决