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
    +关注

    关注

    20

    文章

    3015

    浏览量

    117030
  • 鸿蒙OS
    +关注

    关注

    0

    文章

    194

    浏览量

    5581
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    IT 补丁管理的8大深坑,一招全破解

    安全的核心流程,要在海量设备里统管理、验证补丁更新,快速堵上漏洞,还要满足合规审计要求。任何环节掉链子,都可能给企业带来安全风险。IT团队在补丁管理中面临哪
    的头像 发表于 03-19 17:05 928次阅读
    IT 补丁管理的8大深坑,<b class='flag-5'>一招</b>全破解

    开源鸿蒙6.1 Release版本正式发布,在鸿OS 6.1率先完成升级适配!

    3月8日,开源鸿蒙6.1Release版本正式发布!作为新代版本,6.1在应用开发能力、系统体验、多媒体与安全等领域带来全面升级,为生态商用落地注入全新动能。作为开放原子开源基金会黄金捐赠人、开源
    的头像 发表于 03-10 18:06 814次阅读
    开源<b class='flag-5'>鸿蒙</b>6.1 Release版本正式发布,在鸿<b class='flag-5'>OS</b> 6.1率先完成升级适配!

    千万归乡人,与鸿蒙无网小游戏共度的第一个春节

    鸿蒙生态,把无网场景变成黄金货架
    的头像 发表于 03-02 20:22 246次阅读
    千万归乡人,与<b class='flag-5'>鸿蒙</b>无网小游戏共度的<b class='flag-5'>第一个</b>春节

    智能楼宇改造避坑指南:别再换掉所有老设备!一招搞定ETHERNET/IP转DEVICENET的共存难题

    智能楼宇改造避坑指南:别再换掉所有老设备!一招搞定ETHERNET/IP转DEVICENET的共存难题 1. 项目背景:老旧楼宇的智能化挑战 在现代智能楼宇控制系统中,我们常面临新旧设备混合的复杂
    的头像 发表于 12-17 15:35 392次阅读
    智能楼宇改造避坑指南:别再换掉所有老设备!<b class='flag-5'>一招</b>搞定ETHERNET/IP转DEVICENET的共存难题

    以龙企为例,浅谈鸿蒙应用开发者激励计划 2025 参与心得

    ,也为我们的应用开发之路指明了优化方向。 龙企款面向求职招聘场景的鸿蒙应用,聚焦于为求职者搭建便捷的岗位对接桥梁,同时为企业提供人才招募渠道。应用搭建了首页、职位、我的三大核心界面:首页呈现企业
    发表于 12-12 10:17

    Linux 下交叉编译实战:跑起来你的第一个 STM32 程序

    跑起来你的第一个STM32程序。、准备工作在开始之前,需要准备:1、Linux开发环境Ubuntu、Debian或其他主流发行版都可以。2、ARMGCC交叉编译工具
    的头像 发表于 11-24 19:04 1174次阅读
    Linux 下交叉编译实战:跑起来你的<b class='flag-5'>第一个</b> STM32 程序

    **CW32L012****开发评估板的第一个程序**

    CW32L012****开发评估板的第一个程序 最近以15.99在CW32生态社区入手了这块CW32L012开发评估板,我迫不及待的烧录进电灯程序,看看这块板子是否是正常的,能否满足我后面的学习
    发表于 11-22 00:09

    DIY 流体模拟吊坠():理论与第一个吊坠的制作

    件能够实时运行 FLIP 流体模拟的手工珠宝。外壳镀金,显示屏由片表镜保护。 观看以下视频,您可以了解整个设计与制作过程: 简介 我直想实现
    的头像 发表于 09-07 17:49 3166次阅读
    DIY 流体模拟吊坠(<b class='flag-5'>一</b>):理论与<b class='flag-5'>第一个</b>吊坠的制作

    工业电路总出问题?槟城BMG10D系列压敏复合器件:一招解决过压难题

    ”。工业电路总出问题?槟城BMG10D系列压敏复合器件:一招解决过压难题。它从根源上保证了品质——原厂技术支持、稳定供货,不用担心中间环节出岔子,买得放心,用得也踏
    的头像 发表于 09-05 16:58 736次阅读
    工业电路总出问题?槟城BMG10D系列压敏复合器件:<b class='flag-5'>一招</b>解决过压难题

    小白也能轻松上手!一招解决IP被封杀难题

    —— fir-proxy 。这款开源高可用代理池能在多个IP中智能自动轮换新IP,大幅降低手动操作时间,让你专注于攻击策略,提升演练得分效率。(该项目星期的时间就已经有三位数的star,可见质量之高。) 文件下载后,项目需由python
    的头像 发表于 09-02 10:38 794次阅读
    小白也能轻松上手!<b class='flag-5'>一招</b>解决IP被封杀难题

    知乎开源“智能预渲染框架” 几行代码实现鸿蒙应用页面“秒开”

    ,交互延迟等核心痛点,通过智能预测用户浏览目标进行提前渲染,只需几行代码即可显著提升复杂页面的加载性能,实现“页面秒开”的高效体验,为鸿蒙开发者带来开发效率和用户体验的双重飞跃。 随着鸿蒙
    的头像 发表于 08-29 14:32 773次阅读
    知乎开源“智能预渲染框架” 几行代码实现<b class='flag-5'>鸿蒙</b>应用<b class='flag-5'>页面</b>“秒开”

    【HarmonyOS 5】鸿蒙页面和组件生命周期函数

    【HarmonyOS 5】鸿蒙页面和组件生命周期函数 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财#
    的头像 发表于 07-11 18:24 1232次阅读

    一招解决多地区无感考勤的问题

    在当今集团化和连锁化经营日益普及的背景下,企业通常会遭遇管理难题:分散于各地的分公司考勤数据难以统,统计工作滞后且流程繁琐。传统的指纹或刷卡考勤方式需要人工核对,这不仅效率低下,还容易出现作弊
    的头像 发表于 07-04 16:46 769次阅读

    HarmonyOS实战:一招搞定保存图片到相册

    保存图片功能几乎是每个应用程序必备的功能之,当用户遇到喜欢的图片时可以保存到手机相册。那么在鸿蒙中保存图片是否也需要申请用户存储权限以及如何将图片保存到相册,本文将详细讲述怎么保存网络图片,指定布局生成图片保存至相册的功能实现。
    的头像 发表于 06-24 17:04 1482次阅读

    HarmonyOS实战:一招解决等待多个并发结果

    前言 年前公司与华为签订了合作备忘录,加入了鸿蒙生态这个大家庭。。公司想赶着鸿蒙纯血系统上市之前,发布自己的鸿蒙软件。开发鸿蒙NEXT版本软件就变成了今年的
    的头像 发表于 06-09 14:57 759次阅读
    HarmonyOS实战:<b class='flag-5'>一招</b>解决等待多个并发结果