Skip to content

Latest commit

 

History

History
56 lines (38 loc) · 2.31 KB

readmode_zh.md

File metadata and controls

56 lines (38 loc) · 2.31 KB

阅读模式

翻译:English

Tip

对于文字类长图片,他们的高度通常非常大,如果初始状态显示全貌,那么图片里的文字内容什么也看不清楚,用户必须双击一下放大再滑动到开始位置才能开始阅读

针对这样的图片 ZoomImage 提供了阅读模式让图片初始状态时就充满屏幕,并定位到开始位置, 类似 ContentScale.Crop 加 Alignment.TopStart 的组合,这样用户就能直接开始阅读文字长图的内容了

开启阅读模式

val zoomState: ZoomState by rememberZoomState()

LaunchEffect(zoomState.zoomable) {
    zoomState.zoomable.readMode = ReadMode.Default
}

SketchZoomAsyncImage(
    imageUri = "https://sample.com/sample.jpeg",
    contentDescription = "view image",
    modifier = Modifier.fillMaxSize(),
    zoomState = zoomState,
)

ReadMode

ReadMode 类用来控制阅读模式,它有两个参数:

  • sizeType: Int = ReadMode.SIZE_TYPE_HORIZONTAL or ReadMode.SIZE_TYPE_VERTICAL: 用来控制哪种尺寸类型的图片可以使用阅读模式,默认是横图和竖图都可以,取值为 ReadMode.SIZE_TYPE_HORIZONTAReadMode.SIZE_TYPE_VERTICAL
  • decider: ReadMode.Decider = ReadMode.Decider.Default: decider 根据 contentSize 和 containerSize 来判断是否可以使用阅读模式,默认实现是 ReadMode.LongImageDecider,仅对长图使用阅读模式

Tip

  • ReadMode 的默认配置是 ReadMode.Default
  • 你可以实现 ReadMode.Decider 接口实现你自己的判定规则