0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一招就行—鸿蒙OS 编写第一个页面

王程 来源:jf_75796907 作者:jf_75796907 2024-01-26 18:01 次阅读

Java UI 框架中,提供了两种编写布局的方式:在XML中声明UI布局和在代码中创建布局。这两种方式创建出的布局没有本质差别,为了熟悉两种方式,我们将通过 XML 的方式编写第一个页面,通过代码的方式编写第二个页面。

XML 编写页面

在“Project”窗口,打开“entry > src > main > resources > base”,右键点击“base”文件夹,选择“New > Directory”,命名为“layout”。

wKgaomWzgoyAJOrVAAASymH2WEg447.png

右键点击“layout”文件夹,选择“New > File”,命名为“main_layout.xml”。

wKgZomWzgpaAaca3AAARLEDwkfQ639.png

在“layout”文件夹下可以看到新增了“main_layout.xml”文件。

wKgZomWzgp2Aa7w2AAAR9R6uYrc800.png

打开“main_layout.xml”文件,添加一个文本和一个按钮,示例代码如下:

 < ?xml version="1.0" encoding="utf-8"? >
   < DependentLayout
           xmlns:ohos="http://schemas.huawei.com/res/ohos"
           ohos:width="match_parent"
           ohos:height="match_parent"
           ohos:background_element="#000000" >
       < Text
               ohos:id="$+id:text"
               ohos:width="match_content"
               ohos:height="match_content"
               ohos:center_in_parent="true"
               ohos:text="Hello World"
               ohos:text_color="white"
               ohos:text_size="32fp"/ >
       
   < /DependentLayout >

上述按钮的背景是通过“button_element”来显示的,需要在“base”目录下创建“graphic”文件夹,在“graphic”文件夹中新建一个“button_element.xml”文件。
img

wKgaomWzgraAHQWwAAARO_J3Br0617.png

“button_element.xml”的示例代码如下:

 < ?xml version="1.0" encoding="utf-8"? >
   < shape
           xmlns:ohos="http://schemas.huawei.com/res/ohos"
           ohos:shape="oval" >
       < solid
               ohos:color="#007DFF"/ >
   < /shape >

加载 XML 布局

在“Project”窗口中,选择“entry> src > main> java > com.example.helloworld > slice” ,打开“MainAbilitySlice.java”文件。

重写onStart()方法加载 XML 布局,示例代码如下:

package com.example.myapplication.slice;
    
   import com.example.myapplication.ResourceTable;
   import ohos.aafwk.ability.AbilitySlice;
   import ohos.aafwk.content.Intent;
    
   public class MainAbilitySlice extends AbilitySlice {
    
       @Override
       public void onStart(Intent intent) {
           super.onStart(intent);
           super.setUIContent(ResourceTable.Layout_main_layout); // 加载XML布局
       }
    
       @Override
       public void onActive() {
           super.onActive();
       }
    
       @Override
       public void onForeground(Intent intent) {
           super.onForeground(intent);
       }
   }

请参考应用运行,效果如图所示:

wKgaomWzgsKAJbkKAACP-7PE6kY833.png

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2904

    浏览量

    102994
  • 鸿蒙OS
    +关注

    关注

    0

    文章

    134

    浏览量

    4279
收藏 人收藏

    评论

    相关推荐

    鸿蒙OS开发实例:【页面传值跳转】

    本篇主要介绍如何在HarmonyOS中,在页面跳转之间如何传值 HarmonyOS 的页面指的是带有@Entry装饰器的文件,其不能独自存在,必须依赖UIAbility这样的组件容器 如下是官方关于State模型开发模式下的应用包结构示意图,Page就是带有@En
    的头像 发表于 03-29 20:16 881次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OS</b>开发实例:【<b class='flag-5'>页面</b>传值跳转】

    STM32L031断电重启后,数据只能收到第一个字节是哪里出了问题?

    开通DMA,利用空闲中断接收数据。奇怪的现象是:在调试器调试时,数据收发都正常,但是断电重启后,数据只能收到第一个字节。不知道问题出在什么地方,
    发表于 03-28 06:14

    求助,用CubeMX配置占空比30%的PWM输出第一个波形不准确是为什么?

    我用的是G0的芯片配置,通过抓波发现第一个波形永远与我配置的占空比不准确,但是除了第一个周期不准确外,后面的都没问题。
    发表于 03-18 07:55

    鸿蒙这么大声势,为何迟迟看不见岗位?最新数据来了

    基础》 ArkTS语言 安装DevEco Studio 运用你的第一个ArkTS应用 ArkUI声明式UI开发 .…… 《鸿蒙开发进阶》 Stage模型入门 网络管理 数据管理 电话服务 分布式应用开发 通知与窗口
    发表于 02-29 20:53

    2024款鸿蒙OS 最新HarmonyOS Next_HarmonyOS4.0系列教程分享

    鸿蒙的出现,标志着中国科技的崛起。HarmonyOS就是我们说的华为鸿蒙系统,截止到2023年8月4日已有超过7亿台设备搭载了鸿蒙OS系统。据多家媒体报道,2024年国内有21所985
    发表于 02-28 10:29

    鸿蒙OS和开源鸿蒙什么关系?

    内核,其他功能都以模块的形式存在。     华为用的是鸿蒙OS 我们都知道,华为手机的鸿蒙OS是可以运行安卓软件的,是因为系统中有安卓兼容层,所以可以简单这么理解:
    的头像 发表于 01-30 15:44 376次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OS</b>和开源<b class='flag-5'>鸿蒙</b>什么关系?

    免费学习鸿蒙(HarmonyOS)开发,些地址分享

    国内流高校。通过鸿蒙班的设立,高校可以为学生提供专业的鸿蒙OS学习环境和丰富的实践机会,培养出更多的鸿蒙开发人才,为
    发表于 01-12 20:48

    为何大厂急鸿蒙开发工程师?别有洞天

    正确看待鸿蒙不再兼容安卓版本,而大厂急鸿蒙工程师这举动已经是预料之中的。我们步步来看鸿蒙
    发表于 01-08 19:59

    鸿蒙 OS 应用开发初体验

    大家对华为生态的应用开发感兴趣或者想深入学习借鉴华为做 OS 和物联网的思路,鸿蒙系统就是标杆。 转自【巫山老妖】
    发表于 11-02 19:38

    Orange Pi OS(OH)发布,开源鸿蒙PC端来了!

    正式向大家宣布喜讯:基于OpenHarmony定制研发的Orange Pi OS(OH)即将发布!日前,迅龙开源鸿蒙的工程师团队已经在搭载RK3566的开发板Orange Pi 3
    发表于 10-26 11:32

    STM32F1的IIC通信经常接收不到第一个字节是为什么?

    经常读取到第一个字节为0,这种情况是什么原因导致的
    发表于 10-15 09:20

    求助,用CubeMX配置占空比30%的PWM输出第一个波形不准确是为什么

    我用的是G0的芯片配置,通过抓波发现第一个波形永远与我配置的占空比不准确,但是除了第一个周期不准确外,后面的都没问题。
    发表于 08-07 07:26

    华为鸿蒙OS4.0定档8月4号,华为Mate60首发

      在本届大会上,华为将展示鸿蒙生态界的新成果、新开放能力以及鸿蒙开发产品套件。对于许多用户来说,本次会议最值得期待的是鸿蒙os 4.0。
    的头像 发表于 06-15 10:55 4943次阅读

    N76E003 PWM启动第一个脉宽有时有4MS宽度,是哪里问题?

    N76E003 PWM启动第一个脉宽有时有4MS宽度(设置为50KHZ 50%DUTY 正常应该为10US),是哪里问题? 这个长脉宽,有时没有,有时有,无规律
    发表于 06-15 07:06

    esp8266,在ap+sta中,连接到第一个AP的疑问求解

    我有两 esp8266 -) ap sta 模式 (esp8266 A)。 -) 连接到第一个 AP ( esp8266 B) A 连接到本地路由器并可以访问互联网。A也创建了
    发表于 06-06 10:18