尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

LargeImageModel完整API清单:largeImage4cj流式配置指南,一张表看懂全部接口

LargeImageModel完整API清单:largeImage4cj流式配置指南,一张表看懂全部接口 LargeImageModel完整API清单largeImage4cj流式配置指南一张表看懂全部接口【免费下载链接】large-image-cj图像加载库支持加载、缩放和拖动项目地址: https://gitcode.com/Cangjie-TPC/large-image-cjlargeImage4cj 是一个支持加载、缩放放大/缩小和拖动查看的图像加载库核心由LargeImageModel图片数据封装类驱动。本文用一张表整理它的全部 API 接口并讲解流式链式配置写法帮助你快速完成缩放比例、拖动边界、事件监听等配置。为什么要用 largeImage4cj普通图片组件放大后容易模糊largeImage4cj 专为大图浏览设计 支持 Uri 地址、resources 资源两种图片加载方式 双指捏合缩放双击快速放大/还原 放大后单指拖动查看细节支持惯性滑动 所有配置接口集中封装在LargeImageModel中一目了然库的源码位于 large_image_model.cj 与 large_image.cj接口说明可参考 doc/feature_api.md。LargeImageModel 接口清单一张表看懂全部接口分类接口作用说明默认值初始化initMatrix()初始化渲染矩阵必须前置调用一次—图片源setImageURI(src)从 Uri 地址加载图片—图片源setImageResource(src)从 resources 包加载图片—手势开关setZoomEnabled(enabled)是否支持缩放true手势开关setPanEnabled(enabled)是否支持平移拖动true缩放控制setMaxScale(scale)设置最大缩放比例4.0缩放控制setMinimumDpi(dpi)按屏幕密度设置最大缩放DPI 越小放得越大屏幕密度缩放控制setMaximumDpi(dpi)按屏幕密度设置最小缩放屏幕密度拖动边界setPanLimit(limit)设置图片可拖动的范围见下表PAN_LIMIT_INSIDE外观setTileBackgroundColor(color)设置 tile 背景颜色UInt32 色值黑色外观setOrientation(degrees)设置图片旋转角度0.0状态查询canScroll()判断当前是否可拖动—状态查询getLoadedImageWidth()/getLoadedImageHeight()获取源图像宽高—状态查询getMaxScale()/getMinScale()获取最大/最小缩放比例—状态查询getOrientation()获取当前旋转角度—状态操作setOffset(x, y)设置图片相对视图左上角的偏移—状态操作resetScaleAndCenter()重置缩放比和图片中心点—事件监听setSingleTapListener(listener)单击事件监听—事件监听setLongPressListener(listener)长按事件监听—事件监听setDoubleTapListener(listener)双击事件监听缩放关闭时生效—事件监听setOnStateChangedListener(listener)缩放状态切换监听—事件监听setOnImageEventListener(listener)图片加载成功/失败监听—流式配置指南链式调用快速上手所有set系列接口都会返回LargeImageModel自身因此支持流式链式配置一行代码串联多个设置无需反复书写变量名。model.initMatrix() model.setImageResource(r(app.media.tiger)) model.setMaxScale(2.0)上面是 entry/src/main/cangjie/image_display.cj 中的真实配置初始化矩阵 → 设置图片资源 → 限制最大放大 2 倍三步完成一张可缩放大图的全部配置。 注意initMatrix()因Publish可观测属性触发 UI 更新必须在其他配置之前调用一次确保属性全部初始化完成。拖动边界三常量PAN_LIMIT 对比表setPanLimit决定图片最多能拖到哪通过三个常量控制源码见 large_image_model.cj常量值行为描述适用场景PAN_LIMIT_INSIDE1.0图片只能在视图范围内平移边界不会超出视图图片库、相册推荐PAN_LIMIT_OUTSIDE2.0允许图片拖出视图边缘直到刚好完全移出屏幕自由浏览型场景PAN_LIMIT_CENTER3.0以中心为基准平移任一角到达屏幕中心即停止需要将任意位置拖到正中心的场景示例工程中通过 entry/src/main/cangjie/configuration.cj 动态切换三种模式可以直观感受差异。事件监听接口速查5 个监听器接口定义在 largeImage/src/main/cangjie/interfaces.cj监听器接口回调方法触发时机OnSingleTapListeneronSingleTapConfirmed(event)单击确认时OnLongPressListeneronLongPress(event)长按时OnDoubleTapListeneronDoubleTap(event)双击时zoomEnabled为 false 时生效OnStateChangedListeneronScaleChanged(newScale)缩放比例变化后OnImageEventListeneronImageLoaded()/onImageLoadError()图片加载成功 / 失败常见配置组合参考需求场景推荐配置组合标准图片库setPanLimit(PAN_LIMIT_INSIDE)默认值无需额外配置只放大、禁止拖动setPanEnabled(false)双击仅在中心点放大高倍放大看图setMinimumDpi(50)放直到明显像素化为止快速双击变焦双击直接跳到maxScale立即响应无动画居中查看细节setPanLimit(PAN_LIMIT_CENTER)任意位置拖到屏幕中心使用注意事项⚠️initMatrix()必须首次前置调用否则矩阵未初始化⚠️canScroll()只有在支持缩放 且 当前缩放比 1.0时才返回true即未放大时拖动不生效⚠️ 双击行为与setZoomEnabled相关开启缩放时双击执行放大/还原关闭时才走OnDoubleTapListener自定义逻辑 当前版本暂不支持自定义拖拽/滑动手势的高级效果详见 README.md 的约束与限制更多功能演示可运行示例工程入口在 entry/src/main/cangjie/index.cj包含基础特性、图片展示、事件处理、高级事件与配置五个演示页。【免费下载链接】large-image-cj图像加载库支持加载、缩放和拖动项目地址: https://gitcode.com/Cangjie-TPC/large-image-cj创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表