HarmonyOS 实现按钮长按动画效果

怎么实现一个按钮长按+动画效果

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

类似效果可以参考以下代码

// ets
@Entry
@Component
struct Progress_Ring {
  @State progressValue: number = 0
  @State animationId: number | null = null
  build() {
    Column({ space: 15 }) {
      Stack(){
        Progress({ value: 0, total: 100, type: ProgressType.Ring })
          .color("red")
          .value(this.progressValue)
          .width(120)
          .style({ strokeWidth: 5, scaleCount: 20, scaleWidth: 5, enableSmoothEffect: true })
          .backgroundColor('#00000000')

        Button('test').gesture(
          LongPressGesture({ repeat: true,duration:10 })
            .onAction((event: GestureEvent|undefined) => {
              if(event && this.progressValue<=100){
                clearInterval(this.animationId)
                this.animationId = null
                this.progressValue ++
              }
            })
            .onActionEnd(() => {
              this.animationId = setInterval(()=>{
                this.progressValue --
                if(this.progressValue <=0){
                  clearInterval(this.animationId)
                }
              },10)
            })
        )
      }

    }.width('100%').padding({ top: 5 })
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
长按实现各类振动效果
869浏览 • 1回复 待解决
如何实现按钮的点击效果
465浏览 • 2回复 待解决
如何实现动画转场效果
843浏览 • 1回复 待解决
属性动画如何实现宽高动画效果
2044浏览 • 1回复 待解决
文字动画效果如何实现
1896浏览 • 0回复 待解决
panGesture结合动画实现fling效果
906浏览 • 1回复 待解决
在 ArkUl中如何实现动画效果?
145浏览 • 0回复 待解决
如何实现list的折叠动画效果
504浏览 • 1回复 待解决
鸿蒙中怎么实现动画翻转效果
10520浏览 • 2回复 待解决
HarmonyOS 动画效果+手势
41浏览 • 1回复 待解决
如何去掉div长按的灰色效果
2552浏览 • 1回复 待解决
HarmonyOS .scale没有动画效果
45浏览 • 1回复 待解决
HarmonyOS 拍摄录制的动画效果
29浏览 • 1回复 待解决