From 395b6f983e90b8ff8f94530e80964eb5809fc236 Mon Sep 17 00:00:00 2001 From: zhoulisheng1 Date: Thu, 1 Dec 2022 00:48:13 -0800 Subject: [PATCH] 1.add onClick option,because ImageKnifeComponet used onClick Event let external layout failed to capture events Signed-off-by: zhoulisheng1 --- .../components/imageknife/ImageKnifeComponent.ets | 12 +++++++++--- .../ets/components/imageknife/ImageKnifeOption.ets | 3 +++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/imageknife/src/main/ets/components/imageknife/ImageKnifeComponent.ets b/imageknife/src/main/ets/components/imageknife/ImageKnifeComponent.ets index 8b096e7..40b183b 100644 --- a/imageknife/src/main/ets/components/imageknife/ImageKnifeComponent.ets +++ b/imageknife/src/main/ets/components/imageknife/ImageKnifeComponent.ets @@ -26,9 +26,10 @@ export struct ImageKnifeComponent { @Watch('watchImageKnifeOption') @Link imageKnifeOption: ImageKnifeOption; @State componentWidth: string = '100%' @State componentHeight: string = '100%' - @State gifPixelMap: PixelMap = undefined; drawLifeCycle: IDrawLifeCycle - autoPlay = true + + @State gifAutoPlay?:boolean = true; + autoPlay:boolean = true // 有效onAreaChanged触发计数 private onAreaCount: number = 0 private preSize: { @@ -101,8 +102,13 @@ export struct ImageKnifeComponent { .backgroundColor(this.imageKnifeOption.backgroundColor ? this.imageKnifeOption.backgroundColor : Color.White) .margin(this.imageKnifeOption.margin ? this.imageKnifeOption.margin : { left: 0, top: 0, right: 0, bottom: 0 }) .onReady(() => { + }) - .onClick(() => { + .onClick((event:ClickEvent) => { + // 需要将点击事件回传 + if(this.imageKnifeOption.onClick){ + this.imageKnifeOption.onClick(event) + } if (this.imageKnifeOption.canRetryClick && this.hasDisplayRetryholder) { this.retryClick() } diff --git a/imageknife/src/main/ets/components/imageknife/ImageKnifeOption.ets b/imageknife/src/main/ets/components/imageknife/ImageKnifeOption.ets index 4f4b21f..592fea0 100644 --- a/imageknife/src/main/ets/components/imageknife/ImageKnifeOption.ets +++ b/imageknife/src/main/ets/components/imageknife/ImageKnifeOption.ets @@ -76,6 +76,9 @@ export class ImageKnifeOption { // 用户自定义实现 绘制方案 drawLifeCycle?: IDrawLifeCycle; + // 设置点击事件回调 + onClick?:(event?: ClickEvent) => void + gif?: { loopFinish?: (loopTime?) => void speedFactory?: number