美文网首页@IT·互联网
HarmonyOS 开发-使用SideBarContainer侧

HarmonyOS 开发-使用SideBarContainer侧

作者: 迪士尼在逃程序员 | 来源:发表于2024-08-27 22:35 被阅读0次

    介绍

    在2in1或平板上,群聊侧边栏是一种较为常用的功能,虽然HarmonyOS已经具备了基本的动效,但是部分情况下开发者可能有定制侧边栏动效的需求,本例主要介绍了如何基于显式动画实现侧边栏的淡入淡出动效。

    效果图预览

    使用说明

    1. 点击右侧三角按钮进行侧边栏的显示与隐藏
    2. 当前动效过渡时间较短,如果要更清晰地观察动画效果,可以将动效的持续时间SIDEBAR_ANIMATION_DURATION
      更改长一点,如1000
    3. 注意,由于手机屏幕边缘较难响应事件,请用2in1或或平板进行测试

    实现思路

    1. 由于SideBarContainer的controlButton无法实现对其动效的自定义,所以需要禁用默认的button,通过自定义的Button来控制SideBar的显隐,并为SideBar添加了透明度的变化动效
        SideBarContainer(this.sidebarType) {
          SideBarView()
            .opacity(this.isShowSideBar ? SideBarAnimationViewConstants.SIDEBAR_OPACITY_SHOW : SideBarAnimationViewConstants.SIDEBAR_OPACITY_HIDDEN)
    
          SideBarContentView({ isShowSideBar: this.isShowSideBar })
        }
        .showSideBar(this.isShowSideBar)
        .showControlButton(SideBarAnimationViewConstants.SIDEBAR_IS_SHOW_BUTTON)
        .autoHide(SideBarAnimationViewConstants.SIDEBAR_IS_AUTO_HIDE)
    
    1. 通过显式动画控制侧边栏的显隐,以便实现自定义动效
       animateTo({ duration: SideBarAnimationViewConstants.SIDEBAR_ANIMATION_DURATION }, () => {
           this.isShowSideBar = !this.isShowSideBar;
       })
    

    工程结构&模块类型

       sidebaranimation                                // har
       |---constants                                   // 常量定义
       |---view
       |   |---SideBarAnimationView.ets                // 入口组件 
       |   |---SideBarContentView.ets                  // 内容区组件
       |   |---SideBarView.ets                         // 侧边栏组件
    

    写在最后

    如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙

    • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
    • 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
    • 想要获取更多完整鸿蒙最新学习知识点,请移步前往小编:https://gitee.com/MNxiaona/733GH/blob/master/jianshu

    相关文章

      网友评论

        本文标题:HarmonyOS 开发-使用SideBarContainer侧

        本文链接:https://www.haomeiwen.com/subject/bsrxxjtx.html