赞
踩
下载地址如下:
https://gitee.com/openharmony/applications_launcher
下载页面已经有相关文件结构的介绍了
使用鸿蒙编辑器DevEco Studio打开,我使用的版本是渠道版本。官网版本应该也可以,不影响阅读源码。
结构如图
product 业务形态层:区分不同产品、不同屏幕的各形态桌面,含有桌面窗口、个性化业务,组件的配置,以及个性化资源包。
feature 公共特性层:抽象的公共特性组件集合,可以被各桌面形态引用。
common 公共能力层:基础能力集,每个桌面形态都必须依赖的模块。
/applications/standard/launcher/
├── common # 公共能力层目录
├── docs # 开发指南
├── feature # 公共特性层目录
│ └── appcenter # 应用中心
│ └── bigfolder # 智能文件夹
│ ├── form # 桌面卡片管理功能
│ ├── gesturenavigation # 手势导航
│ ├── pagedesktop # 工作区
│ ├── recents # 最近任务
│ ├── settings # 桌面设置
│ ├── smartdock # dock工具栏
├── product # 业务形态层目录
├── signature # 签名证书
之前做过Android launcher,所以对鸿蒙的launcher挺好奇的,看看和普通鸿蒙应用有何区别
onWindowStageCreate
中windowStage.loadContent
方法设置。export default class EntryAbility extends UIAbility{
onWindowStageCreate(windowStage: window.WindowStage): void {
windowStage.loadContent('pages/Index', (err) => {
});
}
}
launcher的ui加载 是这样的:
使用的不是UIAbility
,而是没见过的ServiceExtension
.,
如此,添加的UI:
export default class MainAbility extends ServiceExtension{ onCreate(want: Want): void { .... this.initLauncher(); } async initLauncher(): Promise<void> { .... // create Launcher entry view windowManager.createWindow(globalThis.desktopContext, windowManager.DESKTOP_WINDOW_NAME, windowManager.DESKTOP_RANK, 'pages/' + windowManager.DESKTOP_WINDOW_NAME, true, registerWinEvent); .... } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。