【HarmonyOS】【DevEco Studio】NOTE04:How to Jump to a Page(页面间的跳转)
页面创建与基本设置
创建页面
创建两个新页面,分别为AbilityPage1、AbilityPage2


设置页面基本内容
以AbilityPage1为例
导包
import com.example.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
继承
package com.example.myapplication.slice;
import com.example.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
public class AbilityPage1 extends AbilitySlice{
}
回调函数
按下Ctrl+O

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

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


注意文件名保持一致
配置UI.xml基本内容
萌狼蓝天打算添加一个文本框
<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:alignment="center"
ohos:orientation="vertical">
<!--在界面中添加一个文本框 @萌狼蓝天-->
<Text
ohos:id="$+id:text_Page1sText"
ohos:height="match_content"
ohos:width="match_content"
ohos:background_element="$graphic:background_ability_main"
ohos:layout_alignment="horizontal_center"
/>
</DirectionalLayout>
对上诉代码做一个解释
<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:alignment="center"
ohos:orientation="vertical">
<!--在界面中添加一个文本框 @萌狼蓝天-->
<Text
ohos:id="$+id:text_Page1sText" //设置ID,方便被调用
ohos:height="match_content"
ohos:width="match_content"
ohos:background_element="$graphic:background_ability_main" // 基本背景颜色
ohos:layout_alignment="horizontal_center" // 布局设置 水平居中
/>
</DirectionalLayout>
现在这个界面什么也没有,接下来我要为这个界面添加一些文字
添加字符串
上面代码虽然添加了一个文本框,但是没有内容,现在,需要去设置内容

,
{
"name": "mainability_page1sText",
"value": "This is Page 1 @萌狼蓝天"
}

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



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

你还可以进行以下设置
属性名称 描述 使用案例 text 显示文本 ohos:text="显示内容" text_font 文本字体 ohos:text_font="HwChinese-medium" text_color 文本颜色 ohos:text_color="#A8FFFFFF" id 控件ID ohos:id="$+id:component_id"
实现跳转
MainAbilitySlice添加跳转监听

回到MainAbilitySlice
添加findComponentByID和setClickedListener
//使用Text需要导包 import ohos.agp.components.Text;
Text text = (Text)findComponentById(ResourceTable.Id_text_helloworld);
text.setClickedListener(listener->present(new AbilityPage1(),new Intent()));

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

现在,点击文字,即可实现页面跳转
【HarmonyOS】【DevEco Studio】NOTE04:How to Jump to a Page(页面间的跳转)的更多相关文章
- 查收新年礼物丨DevEco Studio 3.0 Beta2发布,20个新变化详解
HUAWEI DevEco Studio是开发HarmonyOS应用和原子化服务的一站式集成开发环境(IDE),为开发者提供工程模板创建.开发.编译.调试.发布等功能. 2021年12月31日,新版本 ...
- Visual Studio跨平台开发实战(5) - Xamarin Android多页面应用程式开发
原文 Visual Studio跨平台开发实战(5) - Xamarin Android多页面应用程式开发 前言 大部份的Android 都具有实体或虚拟的Back键. 因此在处理多页面应用程式时 ...
- Visual Studio跨平台开发实战(3) - Xamarin iOS多页面应用程式开发
原文 Visual Studio跨平台开发实战(3) - Xamarin iOS多页面应用程式开发 前言 在前一篇教学中, 我们学会如何使用Visual Studio 搭配Xcode 进行iOS基本控 ...
- 【HarmonyOS】【DevEco Studio】NOTE05:PageAbility生命周期的呈现
NOTE05:PageAbility生命周期的呈现 基本界面设置 创建Slice与对应xml BarAbilitySlice package com.example.myapplication.sli ...
- 【HarmonyOS】【DevEco Studio】NOTE02 :Create a “Hello World ”Application
Author:萌狼蓝天 StudyTime:2021/12/06 Version:3.0 Beta1 包结构 src | --> resource 资源文件目录 | --> layout/ ...
- 在Visual Studio中使用用例图描述系统与参与者间的关系
"用例图"用来描述谁用系统,用系统做什么.用例图不涉及使用细节,只用来描述使用人员和系统的关系,也不涉及行动的顺序.一起来体验. 使用Visual Studio 2012创建解决方 ...
- Visual Studio跨平台开发(5):Xamarin Android多页面应用开发
前言 大部份的Android 都具有实体或虚拟的Back键. 因此在处理多页面应用程序时, 与先前所介绍的iOS Navigation controller 比较起来会简单许多. 1. 开启Visua ...
- Visual Studio跨平台开发(3):Xamarin iOS多页面应用开发
前言 在前一篇教学中, 我们学会如何使用Visual Studio 搭配Xcode进行iOS基本控制项的操作. 但都是属于单一画面的应用程式. 这次我们要来练习如何通过Navigation Contr ...
- visual studio 2015中的webapi生成helpPage,页面不显示方法说明问题解决
环境: vs2015.win7 参考:http://www.cnblogs.com/Erik_Xu/p/5638381.html 生成的help页面如下:,并没有显示控制器和方法. 原因是:新建项目时 ...
随机推荐
- Python基础(偏函数)
import functools#functools.partial就是帮助我们创建一个偏函数的,functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一 ...
- React-Router基础(<HashRouter>)
<Router>使用URL(即window.location.hash)的哈希部分来保持UI与URL同步的A. 重要说明:哈希历史记录不支持location.key或location.st ...
- Centos8 Docker部署 .Net6 项目
.Net6项目发布 1.在VS中发布项目,并编写好Dockerfile文件 Dockerfile文件内容如下: FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS ...
- 带allow-create的el-select限制长度
需求:给el-select添加新增字段长度限制且新增内容不能为空 1.首先给el-select绑定一个id(例如:selectSku),这个id会传到组件里面,绑定在那个input上面, <el ...
- [loj2461]完美的队列
参考论文,这里一共写了论文中的3种做法,第一种做法为强制在线时的做法,第二种为时间复杂度略高的做法(前两种都无法通过),第三种为本题正解,并给出了一种理论复杂度更优的做法 1.做法1 情况1 $\fo ...
- [cf1215F]Radio Stations
这道题如果没有功率的限制,显然就是一个裸的2-sat 考虑将功率的限制也放在图上:如果选择了功率i,那么功率区间不包含它的点只能不选,连边即可 但是这样建图的边数是o(n^2),需要优化 将功率区间分 ...
- Object类的toString和Equals方法,以及Objects类的Equals方法
Object类 toString()方法 public class Person { private String name; private int age; public Person() { } ...
- Topcoder 12519 ScotlandYard(点对 dp+最长路)
题面传送门 题意: 有两个人 A 和 B 玩一个游戏.游戏规则大致是这样的: 有 \(n\) 个城市和三种交通工具公交.地铁和出租车. 给出三个 \(n\times n\) 的字符矩阵 \(b,m,t ...
- 【python】python之list
1.判断list是否为空 方式一: list_temp=[] if len(list_temp): #非空即为真 print('list is not empty') else: print('lis ...
- R语言实战-Part 2笔记
R 语言实战(第二版) part 2 基本方法 -------------第6章 基本图形------------------ #1.条形图 #一般是类别型(离散)变量 library(vcd) he ...