【HarmonyOS 鸿蒙实战开发】NavDestination弹窗

往期知识点整理

介绍

本案例介绍了使用NavDestination组件的Dialog模式实现与前一个页面的联动的评论弹窗。

效果预览图

使用说明

点击案例中的商品介绍页面底部商店信息栏中的评论图标,即可拉起评论区弹窗,同时商品介绍页面自适应缩小。
此时在商品介绍页区域(或者未滑动浏览的评论区)可以通过手势向下滑动,缩小评论区高度的同时,增加商品介绍页面的高度,实现联动效果。

实现思路

  1. 创建商品介绍页面。

通过Navigation组件作为路由导航根容器,同时也作为本案例的商品介绍页的容器。

具体商品介绍组件内容省略。

build() {
   
   
  Column() {
   
   
    this.goodsItem()
  }
  .width($r('app.string.navdialog_full_size'))
}

@Builder
goodsItem() {
   
   
  Column() {
   
   
    // 商品图片
    ...
    // 底部栏
    this.shopBar(() => {
   
   
      // 触发弹窗的回调函数
      animateTo({
   
    duration: Consts.COMMENT_DIALOG_TRANS_DURATION, curve: Curve.Ease }, () => {
   
   
        this.ndDialogHeight = this.ndPageHeight * Consts.COMMENT_DIALOG_SCALE;
      })

      DynamicsRouter
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值