HarmonyOS5 汽车类行业实践 - 底部弹窗固定显示(一)
底部弹窗固定显示是汽车类应用的典型场景之一,如应用页面底部的通知弹窗,可及时向用户推送各种信息。本示例基于实现在页面底部固定一个通知窗口,支持在所有页面显示,支持点击关闭窗口。
·
场景介绍
底部弹窗固定显示是汽车类应用的典型场景之一,如应用页面底部的通知弹窗,可及时向用户推送各种信息。
本示例基于 @ohos.window 实现在页面底部固定一个通知窗口,支持在所有页面显示,支持点击关闭窗口。
效果预览

实现思路
- 调用 createSubWindow 创建子窗口,并依次设置子窗口加载页、子窗口右下坐标、子窗口大小和子窗口展示。
- 在应用各页面按需加载子窗口。
- OpenSubWindows() {
- this.context.windowStage.createSubWindow('FloatPage', (err, windowClass) => {
- if (err.code > 0) {
- return;
- }
- this.win = windowClass;
- try {
- // 设置子窗口加载页
- windowClass.setUIContent('pages/FloatPage', () => {
- windowClass.setWindowBackgroundColor(Constants.SUBWINDOW_BACKGROUND_COLOR);
- });
- // 设置子窗口左上角坐标
- windowClass.moveWindowTo(Constants.ZERO, Constants.SUB_WINDOW_Y);
- // 设置子窗口大小
- windowClass.resize(display.getDefaultDisplaySync().width, Constants.SUB_WINDOW_HEIGHT);
- // 展示子窗口
- windowClass.showWindow();
- } catch (err) {
- }
- })
- }
- 在需要关闭时销毁子窗口。
- CloseSubWindows() {
- // 销毁子窗口
- this.win?.destroyWindow();
- }
约束与限制
- 本示例支持 API Version 17 Release 及以上版本。
- 本示例支持 HarmonyOS 5.0.5 Release SDK 及以上版本。
- 本示例需要使用 DevEco Studio 5.0.5 Release 及以上版本进行编译运行。
工程目录
├──entry/src/main/ets // 代码区
- │ ├──common
- │ │ └──Constants.ets // 常量文件
- │ ├──entryability
- │ │ └──EntryAbility.ets
- │ ├──entrybackupability
- │ │ └──EntryBackAbility.ets
- │ ├──pages
- │ │ ├──BuyingCarPage.ets // 选车页
- │ │ ├──FloatPage.ets // 漂浮页
- │ │ ├──MainPage.ets // 首页
- │ │ └──MinePage.ets // 我的页面
- │ └──utils
- │ └──GlobalComponents.ets // 全局组件类
- └──entry/src/main/resources // 应用资源目录
参考文档
代码下载
欢迎加入我的 HarmonyOS 班级,一起学习技术、分享成果,还有机会把精美的 HarmonyOS 礼盒带回家!快来报名,我们一起在 HarmonyOS 的世界里探索成长~
报名链接:
更多推荐



所有评论(0)