加入收藏 | 设为首页 | 会员中心 | 我要投稿 南昌站长网 (https://www.0791zz.cn/)- 终端安全、安全管理、数据治理、图像分析、大数据!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

“用了5G,肠子悔青”?

发布时间:2021-01-30 11:57:21 所属栏目:外闻 来源:互联网
导读:在HarmonyOS App中,任何形式的资源都会与一个int类型的值绑定,以便通过该值引用资源,这些值都在ResourceTable类中以常量(static final形式的变量)形式存在。这些值都是自动生成的,通常以资源文件名作为变量名,前面加上前缀。布局文件的前缀是Layout。如

在HarmonyOS App中,任何形式的资源都会与一个int类型的值绑定,以便通过该值引用资源,这些值都在ResourceTable类中以常量(static final形式的变量)形式存在。这些值都是自动生成的,通常以资源文件名作为变量名,前面加上前缀。布局文件的前缀是Layout。如本例的布局文件是first_layout.xml,所以生成的ID是Layout_first_layout。根据这个生成规则,要求资源文件的命名必须符合Java标识符的命名规则,否则无法在ResourceTable类中生成ID。

6. 显示Page Ability

到现在为止,一个最小的,而且是完整的Page Ability已经完成了,最后一步就是显示这个Page Ability。如果想让FirstAbility作为主Ability显示(HarmonyOS App运行后显示的第1个Page Ability),可以修改FirstAbility配置信息中的skills部分,将其改成如下形式:
 

关于布局的更多内容在后面的章节会详细讨论,这里只要知道,first_layout.xml文件中使用了方向布局,而且是垂直方向。在垂直方向上从上到下放置了3个组件,分别是Button1、Text和Button2。

5. 装载布局文件

创建完布局文件后,需要与Page Ability关联才能显示布局中的组件。通常需要在Page Ability启动时装载布局文件,这就要使用到Page Ability的生命周期方法onStart,该方法会在Page Ability开始时调用,通常在onStart方法中做一些初始化的工作,例如,为组件指定事件监听器。

现在需要在FirstAbility类中添加一个onStart方法,并使用super.setUIContent方法装载布局文件,代码如下:
 

在创建HarmonyOS工程时,IDE已经自动在config.json文件中添加了MainAbility的注册信息,读者可以照葫芦画瓢,将MainAbility的注册代码复制一份,然后略作修改。

这里主要修改了actions、name和label属性。actions表示一个或多个与Page Ability关联的动作,可以通过这些action来调用当前的Page Ability。name指定了Page Ability类的全名,本例是com.unitymarvel.demo.FirstAbility。label用于指定窗口的标题文本。

4. 创建布局文件

HarmonyOS App既可以用Java代码动态创建组件的方式布局,也可以使用布局文件。本例使用布局文件的方式进行布局,这也是我推荐的布局方式。因为使用Java代码创建复杂的布局非常困难,而且代码量比较大,代码难以维护。

HarmonyOS工程的所有布局文件都放在resources/base/layout目录中,现在创建一个first_layout.xml文件,并输入下面的代码:
 

DevEco Studio提供了自动创建Page Ability的功能,在创建的过程中会自动向config.json文件中添加相应的配置信息。不过为了更深入理解Page Ability的创建和使用过程,本节将用纯手工的方式创建一个Page Ability。

2. 手动创建Page Ability类

Page Ability是一个普通的Java类,所以我们首先应该创建一个Java类,本例创建的Java类是FirstAbility。任何一个Page Ability类都必须从Ability类继承,该类属于ohos.aafwk.ability包,所以FirstAbility的最终形式如下:

(编辑:南昌站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读