鸿蒙开发【页面路由跳转】绘制页面

6.6 给查看更多设置点击事件实现页面跳转

图片如下:

跳转需要进入的页面

6.6.1 描绘该跳转的关注的人的页面

新建一个pages页面命名为AttentionPage,在添加相应的内容布局

代码示例:

@Entry
@Component

struct AttentionPage {

build() {
 
Column(){

    }

  }
}

6.6.1.1 设置顶部内容

代码示例:

Row(){
 
Image($r('app.media.xiangzuo')).height(25).width(25)
   
.onClick(()=>{
     
router.back()
   
})
 
Text('关注').fontSize(20)
 
Text('发现用户').fontSize(20)
}.justifyContent(FlexAlign.SpaceBetween)
.width('100%').padding(10)

Divider()

Divider 水平分割线,让整体布局更加美观

效果图:

6.6.1.2 绘制tab标签并且添加内容
(1)添加tab标签的自定义

代码示例:

@Entry
@Component

struct AttentionPage {

private tabsController:TabsController=new TabsController()

build() {

(2)tabs的布局以及tabcontent的内容

Tabs({ controller: this.tabsController}){
 
TabContent(){

}.tabBar('关注的人')
TabContent(){

                                                                                                                                                                                                                                                        
}.tabBar('经常访问')
TabContent(){

}
.tabBar('推荐')
TabContent(){

}
.tabBar('超话')

6.6.1.3 利用Image组件和TextInput组件添加输入框

给关注的人标签里添加内容

代码示例

ListItem(){
Column() {
 
Row().height(12).width('100%').backgroundColor('#EDEDED')
 
Row() {
   
Stack() {
     
Image($r('app.media.sousuo')).width(15).margin({ right: 120 })
     
TextInput({ placeholder: '搜全部关注' }).textAlign(TextAlign.Center).width('95%')
   
}
  }
.padding(10)

6.6.1.4  利用线性布局组件描绘图片以及文本内容
(1) 设置Attention类分装

代码示例:

class Attention {
 
image: ResourceStr
 
name:string
 
constructor(image: ResourceStr,name:string) {
   
this.image =image
   
this.name=name
 
}
}

(2) 设置Atten 列表函数

代码示例:

@State  Atten:Array<Attention> =[
 
new Attention($r('app.media.zuixin'),'特别关注'),
  new
Attention($r('app.media.fabu'),'TA的铁粉'),
  new
Attention($r('app.media.zuixin'),'关注分组'),
  new
Attention($r('app.media.renqi'),'兴趣主页

### 鸿蒙开发中实现页面跳转的方法 #### 使用路由(Route) 在鸿蒙操作系统中,可以通过路由机制来实现页面间的跳转。具体来说,在 JavaScript 中可以利用 `router` 模块提供的 API 来完成这一操作。为了使页面能够响应用户的交互并导航至其他界面,通常会采用如下方式: 当需要执行页面切换时,先引入必要的模块: ```javascript import router from '@ohos.router'; ``` 接着调用 `push` 方法,并传递目标 URI 参数给此函数,从而把新页面压入栈顶位置,触发视图转换过程[^4]: ```javascript // 假设要跳转的目标页面路径为 '/page2' await router.push({ uri: 'pages/page2' }); ``` #### 利用意图(Intent) 除了基于 URL 的路由外,另一种常见的做法是借助 Intent 对象来进行更复杂的跨屏互动或携带额外数据的情况下的页面迁移。这种方式不仅限于简单的地址变更,还可以附带参数一同发送给下一个 Activity 或 Ability 组件。 创建一个新的 intent 实例并向其中添加所需的信息之后,再通过 startAbility() 启动新的 ability 完成跳转动作[^1]: ```typescript let want = { bundleName: "com.example.myapp", abilityName: "SecondPageAbility" }; context.startAbility(want); ``` 以上两种途径均适用于 HarmonyOS 应用程序内的页面流转逻辑设计;前者更适合处理较为直观的前后端分离架构下前端内部链接关系维护,而后者则更多用于涉及后台服务请求或者多组件协作场景之中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值