当前位置:   article > 正文

【HarmonyOS】【DevEco Studio】NOTE04:How to Jump to a Page(页面间的跳转)

deveco studio简单的页面跳转

页面创建与基本设置

创建页面

创建两个新页面,分别为AbilityPage1、AbilityPage2

image.png

image.png

设置页面基本内容

以AbilityPage1为例

导包
  1. import com.example.myapplication.ResourceTable;
  2. import ohos.aafwk.ability.AbilitySlice;
  3. import ohos.aafwk.content.Intent;
继承
  1. package com.example.myapplication.slice;
  2. import com.example.myapplication.ResourceTable;
  3. import ohos.aafwk.ability.AbilitySlice;
  4. import ohos.aafwk.content.Intent;
  5. public class AbilityPage1 extends AbilitySlice{
  6. }
回调函数

按下Ctrl+O

image.png

设置UI
创建UI.xml
  1. @Override
  2. protected void onStart(Intent intent) {
  3. super.onStart(intent);
  4. super.setUIContent(ResourceTable.Layout_ability_page1);
  5. }

image.png

由于现在还没有对应文件,所以会报错,我们现在需要去写对应的xml文件

image.png

image.png

注意文件名保持一致

配置UI.xml基本内容

萌狼蓝天打算添加一个文本框

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <DirectionalLayout
  3. xmlns:ohos="http://schemas.huawei.com/res/ohos"
  4. ohos:height="match_parent"
  5. ohos:width="match_parent"
  6. ohos:alignment="center"
  7. ohos:orientation="vertical">
  8. <!--在界面中添加一个文本框 @萌狼蓝天-->
  9. <Text
  10. ohos:id="$+id:text_Page1sText"
  11. ohos:height="match_content"
  12. ohos:width="match_content"
  13. ohos:background_element="$graphic:background_ability_main"
  14. ohos:layout_alignment="horizontal_center"
  15. />
  16. </DirectionalLayout>

对上诉代码做一个解释

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <DirectionalLayout
  3. xmlns:ohos="http://schemas.huawei.com/res/ohos"
  4. ohos:height="match_parent"
  5. ohos:width="match_parent"
  6. ohos:alignment="center"
  7. ohos:orientation="vertical">
  8. <!--在界面中添加一个文本框 @萌狼蓝天-->
  9. <Text
  10. ohos:id="$+id:text_Page1sText" //设置ID方便被调用
  11. ohos:height="match_content"
  12. ohos:width="match_content"
  13. ohos:background_element="$graphic:background_ability_main" // 基本背景颜色
  14. ohos:layout_alignment="horizontal_center" // 布局设置 水平居中
  15. />
  16. </DirectionalLayout>

现在这个界面什么也没有,接下来我要为这个界面添加一些文字

添加字符串

上面代码虽然添加了一个文本框,但是没有内容,现在,需要去设置内容

image.png

  1. ,
  2. {
  3. "name": "mainability_page1sText",
  4. "value": "This is Page 1 @萌狼蓝天"
  5. }

image.png

现在设置好了基本字符串,但是却有报错,这是因为没有设置中英文字符串。按如下步骤进行设置

image.png

image.png

image.png

在页面中引用字符串
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <DirectionalLayout
  3. xmlns:ohos="http://schemas.huawei.com/res/ohos"
  4. ohos:height="match_parent"
  5. ohos:width="match_parent"
  6. ohos:alignment="center"
  7. ohos:orientation="vertical">
  8. <!--在界面中添加一个文本框 @萌狼蓝天-->
  9. <Text
  10. ohos:id="$+id:text_Page1sText"
  11. ohos:height="match_content"
  12. ohos:width="match_content"
  13. ohos:background_element="$graphic:background_ability_main"
  14. ohos:layout_alignment="horizontal_center"
  15. ohos:text="$string:mainability_page1sText"
  16. ohos:text_size="40vp"
  17. />
  18. </DirectionalLayout>

image.png

你还可以进行以下设置

属性名称描述使用案例
text显示文本ohos:text="显示内容"
text_font文本字体ohos:text_font="HwChinese-medium"
text_color文本颜色ohos:text_color="#A8FFFFFF"
id控件IDohos:id="$+id:component_id"

实现跳转

MainAbilitySlice添加跳转监听

image.png

回到MainAbilitySlice

添加findComponentByIDsetClickedListener

  1. //使用Text需要导包 import ohos.agp.components.Text;
  2. Text text = (Text)findComponentById(ResourceTable.Id_text_helloworld);
  3. text.setClickedListener(listener->present(new AbilityPage1(),new Intent()));

image.png

使用相同方式处理另外一个界面

image.png

现在,点击文字,即可实现页面跳转

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/265743
推荐阅读
相关标签
  

闽ICP备14008679号