#鸿蒙通关秘籍#如何设置拖拽组件的自定义背板图?

HarmonyOS
20h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
网络小魔头

要设置拖拽组件的自定义背板图,可以通过onDragStart回调函数返回DragItemInfo对象。使用pixelMap设置图像,而不建议使用customBuilder,因为性能开销较大。同时,可以通过onPreDrag提前生成pixelMap,如下所示:

Image($r('app.media.app_icon'))
    .width(100)
    .height(100)
    .draggable(true)
    .onDragStart((event) => {
        let dragItemInfo: DragItemInfo = {
            pixelMap: this.pixmap,
            extraInfo: "this is custom drag image",
        };
        return dragItemInfo;
    })
    .onPreDrag((status: PreDragStatus) => {
        if (status === PreDragStatus.ACTION_DETECTING_STATUS) {
            this.getComponentSnapshot();
        }
    });

private getComponentSnapshot(): void {
    componentSnapshot.createFromBuilder(() => this.pixelMapBuilder(), 
    (error: Error, pixmap: image.PixelMap) => {
        if (!error) {
            this.pixmap = pixmap;
        }
    });
}
分享
微博
QQ
微信
回复
17h前
相关问题
如何设置自定义组件height缺省
1811浏览 • 1回复 待解决