HarmonyOS 现在有一个Column组件,里面有子组件A、B相关问题

HarmonyOS 现在有一个Column组件,里面有子组件A、B,B visibility默认设置为None,然后这边有一个动画是控制B显示隐藏的,第一次动画展示的时候B默认会从屏幕上方出现,而不是从组件A下方出现。

HarmonyOS
2024-10-08 10:13:25
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

用if-else条件渲染来控制,参考代码:

build() {  
  Column() {  
    Row() {  
      Button(this.isFollow ? "取消关注" : "+关注")  
        .width(this.isFollow ? 150 : 200)  
        .fontColor(this.isFollow ? Color.Black : Color.White)  
        .backgroundColor(this.isFollow ? Color.White : Color.Red)  
        .animation({ duration: 100 })  
        .border({  
          width: this.isFollow ? 1 : 0  
        })  
        .onClick(() => {  
          this.isFollow = !this.isFollow  
        })  
      Button({ type: ButtonType.Capsule, stateEffect: true }) {  
        Row() {  
          Image($r("app.media.startIcon")).width(20).height(20)  
          if (this.isFollow) {  
            Text('loading')  
              .fontSize(12)  
              .fontColor(this.isFollow ? Color.Black : Color.White)  
              .margin({ left: 5, right: 12 })  
              .transition(TransitionEffect.translate({ x: "100%" }).animation({ duration: 100 }))  
          }  
        }.justifyContent(FlexAlign.Center).alignItems(VerticalAlign.Center).width(90).height(40)  
      }  
      .width(this.isFollow ? 150 : 100)  
      .backgroundColor(Color.White)  
      .animation({ duration: 100 })  
      .border({ width: 1 })  
    }.width(300)  
  }  
  .height('100%')  
  .width('100%')  
}
分享
微博
QQ
微信
回复
2024-10-08 17:22:39
相关问题
HarmonyOS Tabs组件组件问题
219浏览 • 1回复 待解决
HarmonyOS Video组件相关问题
293浏览 • 1回复 待解决
HarmonyOS 需要一个图片预览组件
110浏览 • 1回复 待解决
如何实现一个折叠组件
844浏览 • 1回复 待解决