HarmonyOS Next开发实战:如何实现应用悬浮窗,kotlin静态

本文详细介绍了在HarmonyOS中如何利用应用子窗口实现应用内全局悬浮窗,包括创建子窗口、设置位置大小、监听拖动和点击事件,以及解决返回手势响应问题。还提供了一份全面的HarmonyOS开发学习资料。
摘要由CSDN通过智能技术生成

对于系统级别弹窗,仍然需要权限,但也不至于那么麻烦的适配。

对于应用内全局弹出,鸿蒙提供了 应用子窗口 可以直接实现。

本文着重介绍如何利用应用子窗口实现应用内全局悬浮窗。

创建应用子窗口需要先拿到窗口管理器 WindowStage 对象,在 EntryAbility.onWindowStageCreate() 回调中取。

FloatManager.init(windowStage)

init(windowStage: window.WindowStage) {
this.windowStage_ = windowStage
}

然后通过 WindowStage.createSubWindow() 创建子窗口。

// 创建子窗口
showSubWindow() {
if (this.windowStage_ == null) {
Log.error(TAG, ‘Failed to create the subwindow. Cause: windowStage_ is null’);
} else {
this.windowStage_.createSubWindow(“HarmonyWorld”, (err: BusinessError, data) => {

this.sub_windowClass = data;
// 子窗口创建成功后,设置子窗口的位置、大小及相关属性等
// moveWindowTo 和 resize 都可以重复调用,实现拖拽效果
this.sub_windowClass.moveWindowTo(this.locationX, this.locationY, (err: Business

  • 24
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值