react-native-image-zoom-viewer
Version:
react native image viewer,大图浏览
192 lines (191 loc) • 4.26 kB
TypeScript
import * as React from 'react';
import { ViewStyle } from 'react-native';
export declare class Props {
/**
* 是否显示
*/
show?: boolean;
/**
* 图片数组
*/
imageUrls: IImageInfo[];
/**
* 滑动到下一页的X阈值
*/
flipThreshold?: number;
/**
* 当前页能滑到下一页X位置最大值
*/
maxOverflow?: number;
/**
* 初始显示第几张图
*/
index?: number;
/**
* 加载失败的图
*/
failImageSource?: IImageInfo;
/**
* 背景颜色
*/
backgroundColor?: string;
/**
* style props for the footer container
*/
footerContainerStyle?: object;
/**
* Menu Context Values
*/
menuContext?: any;
/**
* 是否开启长按保存到本地的功能
*/
saveToLocalByLongPress?: boolean;
/**
* 是否允许缩放图片
*/
enableImageZoom?: boolean;
style?: ViewStyle;
/**
* Enable swipe down to close image viewer.
* When swipe down, will trigger onCancel.
*/
enableSwipeDown?: boolean;
doubleClickInterval?: number;
/**
* 是否预加载图片
*/
enablePreload?: boolean;
/**
* 翻页时的动画时间
*/
pageAnimateTime?: number;
/**
* 长按图片的回调
*/
onLongPress?: (image?: IImageInfo) => void;
/**
* 单击回调
*/
onClick?: (close?: () => any, currentShowIndex?: number) => void;
/**
* 双击回调
*/
onDoubleClick?: (close?: () => any) => void;
/**
* 图片保存到本地方法,如果写了这个方法,就不会调取系统默认方法
* 针对安卓不支持 saveToCameraRoll 远程图片,可以在安卓调用此回调,调用安卓原生接口
*/
onSave?: (url: string) => void;
/**
* 自定义头部
*/
renderHeader?: (currentIndex?: number) => React.ReactElement<any>;
/**
* 自定义尾部
*/
renderFooter?: (currentIndex?: number) => React.ReactElement<any>;
/**
* 自定义计时器
*/
renderIndicator?: (currentIndex?: number, allSize?: number) => React.ReactElement<any>;
/**
* Render image component
*/
renderImage?: (props: any) => React.ReactElement<any>;
/**
* 自定义左翻页按钮
*/
renderArrowLeft?: () => React.ReactElement<any>;
/**
* 自定义右翻页按钮
*/
renderArrowRight?: () => React.ReactElement<any>;
/**
* 弹出大图的回调
*/
onShowModal?: (content?: any) => void;
/**
* 取消看图的回调
*/
onCancel?: () => void;
/**
* function that fires when user swipes down
*/
onSwipeDown?: () => void;
/**
* 渲染loading元素
*/
loadingRender?: () => React.ReactElement<any>;
/**
* 保存到相册的回调
*/
onSaveToCamera?: (index?: number) => void;
/**
* 当图片切换时触发
*/
onChange?: (index?: number) => void;
}
export declare class State {
/**
* 是否显示
*/
show?: boolean;
/**
* 当前显示第几个
*/
currentShowIndex?: number;
/**
* 图片拉取是否完毕了
*/
imageLoaded?: boolean;
/**
* 图片长宽列表
*/
imageSizes?: IImageSize[];
/**
* 是否出现功能菜单
*/
isShowMenu?: boolean;
}
export interface IImageInfo {
url: string;
/**
* 没有的话会自动拉取
*/
width?: number;
/**
* 没有的话会自动拉取
*/
height?: number;
/**
* 图片字节大小(kb为单位)
*/
sizeKb?: number;
/**
* 原图字节大小(kb为单位)
* 如果设置了这个字段,并且有原图url,则显示查看原图按钮
*/
originSizeKb?: number;
/**
* 原图url地址
*/
originUrl?: string;
/**
* Pass to image props
*/
props?: any;
/**
* 初始是否不超高 TODO:
*/
freeHeight?: boolean;
/**
* 初始是否不超高 TODO:
*/
freeWidth?: boolean;
}
export interface IImageSize {
width: number;
height: number;
status: 'loading' | 'success' | 'fail';
}