鸿蒙5 汽车行业类实践-底部弹窗固定显示
·
📢 重磅福利!参与活动赢好礼,8月1日-12月31日等你来!
点击链接: 华为开发者学堂
场景介绍
底部弹窗固定显示是汽车类应用的典型场景之一,如应用页面底部的通知弹窗,可及时向用户推送各种信息。
本示例基于@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 // 应用资源目录
更多推荐

所有评论(0)