codecamp

鸿蒙OS 编写第一个页面

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

XML 编写页面

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

img

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

img

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

img

  1. 打开“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"/>
       <Button
               ohos:id="$+id:button"
               ohos:width="match_content"
               ohos:height="match_content"
               ohos:text_size="19fp"
               ohos:text="Next"
               ohos:top_padding="8vp"
               ohos:bottom_padding="8vp"
               ohos:right_padding="80vp"
               ohos:left_padding="80vp"
               ohos:text_color="white"
               ohos:background_element="$graphic:button_element"
               ohos:center_in_parent="true"
               ohos:align_parent_bottom="true"/>
   </DependentLayout>

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

img

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 布局

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

  1. 重写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);
       }
   }

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

点击放大

鸿蒙OS 快速入门简介
鸿蒙OS 创建另一个页面
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }