| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 12-May-2024 | - | 36 | 33 | ||
| WindowComponent/ | 12-May-2024 | - | 638 | 519 | ||
| entry/ | 12-May-2024 | - | 1,588 | 1,327 | ||
| hvigor/ | 12-May-2024 | - | 8 | 8 | ||
| oh_modules/ | 12-May-2024 | - | 13,764 | 10,266 | ||
| screenshots/devices/ | 12-May-2024 | - | ||||
| .gitignore | D | 12-May-2024 | 105 | 8 | 8 | |
| README_zh.md | D | 12-May-2024 | 4.8 KiB | 90 | 57 | |
| build-profile.json5 | D | 12-May-2024 | 1.1 KiB | 47 | 46 | |
| hvigorfile.js | D | 12-May-2024 | 168 | 2 | 1 | |
| hvigorw | D | 12-May-2024 | 2.1 KiB | 62 | 28 | |
| hvigorw.bat | D | 12-May-2024 | 2 KiB | 73 | 56 | |
| oh-package-lock.json5 | D | 12-May-2024 | 1 KiB | 28 | 27 | |
| oh-package.json5 | D | 12-May-2024 | 812 | 27 | 25 | |
| ohosTest.md | D | 12-May-2024 | 2 KiB | 15 | 12 |
README_zh.md
1# 窗口 2 3### 介绍 4 5本示例展示了在应用主窗口中创建和拉起子窗口,并对子窗口设置窗口相关属性,以及设置窗口规避区域、窗口沉浸式和小窗口等功能。 6 7本实例使用[窗口管理](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md) 8 9### 效果预览 10 11|主页| 窗口视频 | 拉起悬浮应用 | 12|--------------------------------|---------------------------------------------|---------------------------------------------| 13| |  |  | 14 15使用说明: 16 171.启动应用,首页展示窗口沉浸式以及设置状态栏和任务栏属性,点击窗口视频跳转到播放页。 18 192.点击视频屏幕可以拉起小窗口播放视频,小窗口可以拖拽,再次点击视频可以关闭小窗口。 20 213.点击全屏播放并切换窗口方向按钮可以全屏播放视频并且改变窗口方向。 22 234.点击视频屏幕拉起小窗口播放视频, 界面显示小窗口状态为“获焦状态”; 再次点击视频关闭小窗口, 界面显示小窗口状态为“失焦状态” 24 255.点击视频屏幕拉起小窗口视频,再点击小窗口中的“拉起悬浮应用”按钮,成功拉起WindowRatio悬浮应用 26 27### 工程目录 28``` 29entry/src/main/ets/ 30|---Application 31| |---MyAbilityStage.ts 32|---MainAbility 33| |---MainAbility.ts 34|---pages 35| |---Index.ets // 首页 36| |---SubWindowPage.ets // 全屏播放 37| |---Video.ets // 视频播放 38``` 39 40### 具体实现 41 42* 本示例主要分为三个模块 43 * 首页入口模块 44 * 使用WindowStage实例化一个窗口,引入WindowManger方法设置一个主窗口与子窗口 45 * 源码链接:[WindowManger.ts](WindowComponent/src/main/ets/components/feature/WindowManger.ts),[WindowConst.ts](WindowComponent/src/main/ets/components/util/WindowConst.ts), 46 * 接口参考:[@ohos.window](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md),[@ohos.events.emitter](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-emitter.md),[@ohos.app.ability.common](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-common.md),[@ohos.router](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-router.md) 47 48 * 窗口视频模块 49 * 这里用到依赖window-components中WindowComponent方法来进行视频的播放 50 51 * 全屏播放窗口并切换窗口方向模块 52 * 通过EventPriority方法表示事件被发送的优先级,emitter.emit方法发送指定的事件进行全屏播放和切换窗口方向 53 * 参考接口:[@ohos.events.emitter](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-emitter.md) 54 55 56### 相关权限 57 58本示例需要在module.json5中配置如下权限: 59 60允许应用使用悬浮窗的能力:[ohos.permission.SYSTEM_FLOAT_WINDOW](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionsystem_float_window) 61 62 63### 依赖 64 65本示例需要依赖[窗口比例](../../../../code/BasicFeature/WindowManagement/WindowRatio)sample,本示例点击“拉起悬浮应用”按钮之后会以悬浮窗模式拉起[窗口比例](../../../../code/BasicFeature/WindowManagement/WindowRatio)sample。 66 67 68### 约束与限制 69 701.本示例仅支持标准系统上运行,支持设备:RK3568; 71 722.本示例不支持release版本,仅支持master版本,当前software version为OpenHarmony 4.0.8.2 73 743.本示例仅支持API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0Release) 75 764.本示例需要使用DevEco Studio 版本号(4.0Release)及以上版本才可编译运行。 77 785.本示例所配置的权限ohos.permission.SYSTEM_FLOAT_WINDOW为system_basic级别(相关权限级别可通过[权限定义列表](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md)查看),需要手动配置对应级别的权限签名(具体操作可查看[自动化签名方案](https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/security/hapsigntool-overview.md/)。 79 80### 下载 81 82如需单独下载本工程,执行如下命令: 83``` 84git init 85git config core.sparsecheckout true 86echo code/BasicFeature/WindowManagement/WindowManage/ > .git/info/sparse-checkout 87git remote add origin https://gitee.com/openharmony/applications_app_samples.git 88git pull origin master 89 90```