HarmonyOS SideBarContainer使用问题

SideBarContainer设置showControlButton = false,隐藏自带的按钮,自定义展开和收起时,没有动画效果,只有自带的ControlButton点击才会有动画效果,这个是什么原因,如果自定义按钮,需要自己写动画吗?

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

可以参考demo:

@Entry
@Component
struct SideBarContainerDemo {
  @State arr: number[] = [1, 2, 3]
  @State current: number = 1
  @State showSideBar: boolean = false
  @State showFlag: Visibility = Visibility.Hidden;

  // 延迟关闭侧边栏,让自定义的出场动画显示
  cancel() {
    this.showFlag = Visibility.Hidden
    setTimeout(() => {
      this.showSideBar = !this.showSideBar
    }, 1000)
  }

  build() {
    SideBarContainer(SideBarContainerType.Overlay) {
      Column() {
        ForEach(this.arr, (item: number) => {
          Column({ space: 5 }) {
            Text("Index0" + item )
              .fontSize(25)
              .fontColor(this.current === item ? '#0A59F7' : '#999')
              .fontFamily('source-sans-pro,cursive,sans-serif')
          }

          .onClick(() => {
            this.current = item
          })
        }, (item: string) => item)
      }
      .visibility(this.showFlag)
      .transition(TransitionEffect.OPACITY.animation({ duration: 1000 })
        .combine(TransitionEffect.translate({ x: 100 })))
      .width('100%')
      .justifyContent(FlexAlign.SpaceEvenly)
      .backgroundColor(Color.Pink)

      Column() {
        Button('打开侧边栏').onClick(() => {
          this.showFlag = Visibility.Visible
          this.showSideBar = true
        }
        )
        Button('关闭侧边栏').onClick(() => {
          this.cancel()
        })
      }
    }
    .divider(null)
    .sideBarPosition(SideBarPosition.End)
    .showSideBar(this.showSideBar)
    .showControlButton(false)
    .sideBarWidth(150)
    .minSideBarWidth(50)
    .maxSideBarWidth(300)
    .minContentWidth(0)
    .onChange((value: boolean) => {
      console.info('status:' + value)
    })
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
SideBarContainer如何设置透明度?
2365浏览 • 1回复 待解决
SideBarContainer如何设置controlButton属性
1988浏览 • 1回复 待解决
HarmonyOS Slide使用问题
334浏览 • 1回复 待解决
HarmonyOS 动画使用问题
32浏览 • 1回复 待解决
HarmonyOS ProtoBuffer使用问题
512浏览 • 1回复 待解决
HarmonyOS filePreview使用问题
378浏览 • 1回复 待解决
HarmonyOS onAreaChange使用问题
823浏览 • 1回复 待解决
HarmonyOS Imageknife使用问题
28浏览 • 1回复 待解决
HarmonyOS textpicker使用问题
309浏览 • 1回复 待解决
HarmonyOS customdialog使用问题
694浏览 • 1回复 待解决
HarmonyOS RichEditor使用问题
41浏览 • 1回复 待解决
HarmonyOS Scroll使用问题
32浏览 • 1回复 待解决
HarmonyOS jsbridge使用问题
37浏览 • 1回复 待解决
HarmonyOS Slider使用问题
47浏览 • 1回复 待解决
HarmonyOS Navigation使用问题
477浏览 • 1回复 待解决
HarmonyOS soundpool使用问题
499浏览 • 1回复 待解决
HarmonyOS AudioCapturer使用问题
32浏览 • 1回复 待解决
HarmonyOS resourceManager使用问题
497浏览 • 1回复 待解决