HarmonyOS 鸿蒙Next 快捷添加悬浮窗

发布于 1周前 作者 caililin 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 快捷添加悬浮窗 现在有一个快捷添加悬浮窗的需求,需要实现向页面页面右下角滑动添加悬浮窗的功能,但是这个功能并不是所有的页面都有,只能在指定的页面出现,有什么方法能在指定页面注入相关功能吗?或者是有其他的实现方式。

2 回复

参考如下demo:

EntryAbility.ets
在onWindowStageCreate中创建悬浮窗
windowStage.createSubWindow("window1", (err, windowClass) => {
let subWindowID: number = windowClass.getWindowProperties().id
console.log('window1', subWindowID)
if (err.code > 0) {
console.error("failed to create subWindow Cause:" + err.message)
return;
}
// 设置子窗口加载页
try {
windowClass.setUIContent("pages/Tabs/tabPage", () => {
windowClass.setWindowBackgroundColor("#00000000")
});
// 设置子窗口左上角坐标
windowClass.moveWindowTo(0, 550)
// 设置子窗口大小
windowClass.resize(vp2px(300), vp2px(300))
// 展示子窗口
// windowClass.showWindow();
AppStorage.setOrCreate('windowClass', windowClass);
// 设置子窗口全屏化布局不避让安全区
windowClass.setWindowLayoutFullScreen(true);
} catch (err) {
console.error("failed to create subWindow Cause:" + err)
}
})
在需要显示悬浮窗的页面上执行 this.windowClass.showWindow();

import { window } from "@kit.ArkUI";
import { BusinessError } from "@kit.BasicServicesKit";
@Entry
@Component
struct SubWindowPage {
@State message: string = 'Hello World';
private windowClass = AppStorage.get("windowClass") as window.Window
build() {
Column () {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button('显示子窗口').onClick(() => {
this.windowClass.showWindow();
})
Button('关闭子窗口').onClick(() => {
window.findWindow('window1').destroyWindow().then((res) => {
console.log("destroyWindow success")
}).catch(() => {
console.log("destroyWindow fail")
})
})
Button('获取子窗口').onClick(() => {
window.find('window1', (err: BusinessError, data) => {
const errCode: number = err.code;
if (errCode) {
console.error(`Failed to find the Window. Cause code: ${err.code}, message: ${err.message}`);
return;
}
window.findWindow('window1').setWindowBackgroundColor("#00000000")
console.info('Succeeded in finding the window. Data: ' + JSON.stringify(data));
});
})
}
.height('100%')
.width('100%')
}
}

更多关于HarmonyOS 鸿蒙Next 快捷添加悬浮窗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对“HarmonyOS 鸿蒙Next 快捷添加悬浮窗”的问题,以下是专业且直接的回答:

在HarmonyOS鸿蒙Next系统中,快捷添加悬浮窗的功能通常集成在系统设置或特定应用内。具体操作步骤如下:

  1. 系统设置路径:

    • 进入手机的“设置”应用。
    • 搜索或找到“应用与服务”或“智慧多窗”等相关选项。
    • 在该选项下,查找“悬浮窗管理”或类似功能。
    • 打开需要添加悬浮窗权限的应用开关。
  2. 应用内操作:

    • 打开支持悬浮窗功能的应用。
    • 在应用内查找设置或更多选项,通常位于应用的侧边栏或下拉菜单中。
    • 选择“悬浮窗”或类似功能,并按照提示进行快捷添加。
  3. 快捷手势:

    • 部分HarmonyOS版本可能支持通过快捷手势(如屏幕边缘滑动)来快速打开悬浮窗。
    • 具体手势操作可在系统设置中的“辅助功能”或“智慧多窗”里查看和设置。

请注意,不同版本的HarmonyOS系统可能在界面和操作上略有差异。若按照上述步骤无法成功添加悬浮窗,可能是由于应用不支持该功能或系统版本限制。

如果问题依旧没法解决请联系官网客服,官网地址是: https://www.itying.com/category-93-b0.html

回到顶部