HarmonyOS 有没有对标UIScrollView的组件

使用UIScrollView可以轻松实现图片缩放,图片放大后支持位移滑动查看。而目前HarmonyOS上没有看到相关组件,无论是示例项目 HarmonyOS-Cases/Cases 还是开源的 PhotoView,ImageViewZoom,subsampling-scale-image-view_bak 等体验都不完善。有没有比较完善的图片缩放组件?

HarmonyOS
2024-12-25 09:08:39
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

使用swiper或scroll组件都可以实现,提供一种方案:

主要实现功能效果:

1、双指捏合对图片进行放大,缩小,拖拽移动操作,且图片放大过程中也可同时进行拖拽操作

主要实现方案:

(1)使用组合手势GestureGroup,同时绑定捏合手势PinchGesture和滑动手势PanGesture,设置组合手势识别模式为并行识别模式:Parallel,并行识别组合手势中注册的手势将同时进行识别,直到所有手势识别结束。并行识别手势组合中的手势进行识别时互不影响

(2)在对图片进行双指捏合操作时,优先触发绑定的PinchGesture手势,在捏合手势的onActionUpdate和onActionEnd回调中修改scale参数,进行图片缩放处理;当滑动拖拽图片时,识别绑定的PanGesture手势,在pan手势的onActionUpdate回调中获取偏移位置,通过translate进行位移操作,来对图片进行拖拽移动

2、图片在放大的情况下也可切换到后一张图或者前一张图

主要实现方案:

(1)在panGesture手势的onActionUpdate回调中获取偏移位置,计算图片放大后分别往左或者往右拖动时是否到达边界,记录向左或向右边界的状态

(2)通过绑定onTouch事件,在滑动的过程中在oTouch的move事件中通过自定义方法根据传入的手指滑动方向和拖动到达的边界方向来判断返回后分别执行scaleEnable和scaleUnEnable方法,修改panGesture的panDirection滑动方向,边界状态将panDirection置为None进行翻页,反之为正常滑动方向进行滑动处理

分享
微博
QQ
微信
回复
2024-12-25 11:24:33
相关问题
HarmonyOS 有没有UI添加水印方法
251浏览 • 1回复 待解决
HarmonyOS 有没有类似scrollview组件
530浏览 • 1回复 待解决
HarmonyOS 有没有URLEncoder组件
742浏览 • 2回复 待解决
HarmonyOS 有没有图表组件
540浏览 • 1回复 待解决
HarmonyOS 有没有保存到相册组件
266浏览 • 1回复 待解决
HarmonyOS 有没有底部弹窗组件
601浏览 • 1回复 待解决
HarmonyOS 有没有帧动画组件
400浏览 • 1回复 待解决
HarmonyOS 组件有没有长按事件?
269浏览 • 1回复 待解决
有没有加载PDF组件
494浏览 • 1回复 待解决
鸿蒙有没有类似viewpage组件
8122浏览 • 1回复 已解决
HarmonyOS 有没有Toast类似的组件
420浏览 • 1回复 待解决
HarmonyOS ArkTS有没有可以组件继承?
208浏览 • 1回复 待解决
组件有没有支持事件穿透属性
1886浏览 • 1回复 待解决
HarmonyOS有没有悬浮窗组件或者库
570浏览 • 1回复 待解决