上一章中,主要对于布局展示和Log输出进行了一些讲解,本章主要针对于页面传参、动态加载布局、页面切换及单Ability使用多个Slice的切换及传参
本章功能逻辑->打开主页面(MainAbilitySlice)后->点击按钮跳转到第二个页面(SecondAbilitySlice),并携带参数传递->点击SecondAbilitySlice按钮时在SecondAbility加载另一个页面并且传参.
首先创建一个BaseAbility继承自Ability,添加一些生命周期的打印日志,便于查看进入了哪一个生命周期
在MainAbilitySlice获取控件id并设置监听事件,点击按钮后传递参数,并跳转到SecondAbility中
在SecondAbility加载的路由SecondAbilitySlice中,动态创建一个父布局及Text和Button,Text展示的是上个页面传递来的数值,Button用于处理点击时间(这里布局我们使用的动态创建,而没有使用加载xml的方式,有助于熟悉api)
在SecondAbilitySlice中点击按钮(名称为打开SecondAbilitySlice的第二个视图),事件中传递了参数,并使用present方法进行跳转到SecondDoubleSlice中
在SecondDoubleSlice中,接收传递来的参数,动态创建布局DirectionalLayout及子布局Text,使用intent.getStringParam("key")获取页面传递来的数据,并加载到Text上,在Text控件设置位于父布局某一个位置时,需要使用DirectionalLayout.LayoutConfig参数,最后使用text.setLayoutConfig(textConfig),进行设置
作者:烛火夜光
想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com/