HarmonyOS 元素使用了动画事件,会监听不到手势拖拽。去掉动画事件可以监听到手势拖拽。

HarmonyOS
2024-12-24 15:54:51
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

可以响应拖拽事件的示例,参考如下:

import { UIContext } from '@ohos.arkui.UIContext';

@Entry
@Component
struct KeyframeDemo {
  @State myScale: number = 1.0;
  uiContext: UIContext | undefined = undefined;
  aboutToAppear() {
    this.uiContext = this.getUIContext?.();
  }

  build() {
    Column() {
      Text('ceshi')
        .width(100)
        .height(100)
        .margin(100)
        .draggable(true)
        .scale({ x: this.myScale, y: this.myScale })
        .gesture(
          PanGesture({ direction: PanDirection.Left }).onActionStart(() => {
            console.log("success")
          })
        )
        .onClick(() => {
          if (!this.uiContext) {
            console.info("no uiContext, keyframe failed");
            return;
          }
          this.myScale = 1;
          // 设置关键帧动画整体播放3次
          this.uiContext.keyframeAnimateTo({ iterations: -1 }, [
            {
              // 第一段关键帧动画时长为800ms,scale属性做从1到1.5的动画
              duration: 800,
              event: () => {
                this.myScale = 1.5;
              }
            },
            {
              // 第二段关键帧动画时长为500ms,scale属性做从1.5到1的动画
              duration: 500,
              event: () => {
                this.myScale = 1;
              }
            }
          ]);
        })
    }.width('100%').margin({ top: 5 })
  }
}
分享
微博
QQ
微信
回复
2024-12-24 18:42:18
相关问题
HarmonyOS 如何监听到手手势的返回
158浏览 • 1回复 待解决
HarmonyOS 动画结束回调监听不到
197浏览 • 1回复 待解决
HarmonyOS 手势监听
202浏览 • 1回复 待解决
HarmonyOS Grid拖拽动画问题
255浏览 • 1回复 待解决
HarmonyOS 动画效果+手势
205浏览 • 1回复 待解决
HarmonyOS 拖拽动画会丢失
61浏览 • 1回复 待解决
拖拽事件extraParams返回空
498浏览 • 1回复 待解决
HarmonyOS 键盘收起的事件监听到
266浏览 • 1回复 待解决
HarmonyOS 添加事件到手机日历日程
96浏览 • 1回复 待解决
HarmonyOS grid拖拽动画不流畅
193浏览 • 1回复 待解决
HarmonyOS grid拖拽和增删动画效果
235浏览 • 1回复 待解决
HarmonyOS 手势事件上报问题
411浏览 • 1回复 待解决
HarmonyOS grid拖拽效果如何添加动画
226浏览 • 1回复 待解决