admin管理员组

文章数量:1539851

2024年5月10日发(作者:)

鸿蒙操作系统Page Ability的创建

Page模板(以下简称Page)是FA唯一支持的模板,用于提供与

用户交互的能力。一个Page可以由一个或多个AbilitySlice构成,

AbilitySlice是指应用的单个页面及其控制逻辑的总和。

当一个Page由多个AbilitySlice共同构成时,这些

AbilitySlice页面提供的业务能力应具有高度相关性。例如,新闻

浏览功能可以通过一个Page实现,其中包含了两个AbilitySlice:

一个AbilitySlice用于展示新闻列表,另一个AbilitySlice用于展

示新闻详情。Page和AbilitySlice的关系如图1所示。

图1 Page Ability与Slice Ability的关系

相比于桌面场景,移动场景下应用之间的交互更为频繁。通常,

单个应用专注于某个方面的能力开发,当它需要其他能力辅助时,会

调用其他应用提供的能力。例如,外卖应用提供了联系商家的业务功

能入口,当用户在使用该功能时,会跳转到通话应用的拨号页面。与

此类似,HarmonyOS支持不同Page之间的跳转,并可以指定跳转到

目标Page中某个具体的AbilitySlice。

通过DevEco Studio创建一个Page Ability,如图2所示。

图2 通过DevEco Studio创建一个Page Ability

DevEcoStudio在创建一个Page Ability时,会同时修改

文件,在abilities数组中添加这个Page Ability的

配置,如图3所示。

图3 修改文件

Skills项默认为没有,当需要添加子路由跳转的时候,再添加

就可以了。

配置项中的配置说明如下。

(1)"orientation":"unspecified":这里可以设置横屏、竖

屏,unspecified是默认的模式。

(2)"name":"_Ability":

Page Ability的名称。

(3)"icon":"$media:icon":/默认图标。

(4)"description":"$string:secondability_description":

描述。

(5)"label":"第2个Page":默认标题栏上的文字。

(6)"type":"page":类型为page、service、data共3种,

这里是page。

(7)"launchType":"standard":启动模式standard、singleton

(单例模式)。

DevEco Studio为每个Page Ability,创建一个Page Ability

代码文件和一个Slice代码文件。一个Page Ability会有一个默认

的Page Slice Ability,如图4所示。

图4 创建一个Page Ability代码文件和一个Slice代码文件

一个新的Page Ability类继承自Ability类,同时需要覆盖

Ability中的onStart方法,我们需要在onStart方法中设置默认启

动的主路由,默认为Slice。如果有多个Slice子页面,则可以通过

addActionRoute来配置,如图5所示。

图5 一个新的Page Ability类继承自Ability类

本文标签: 应用能力提供默认需要