我只是想看看是否有人可以为我指明正确的方向,以学习如何使用 Glide 来完成此任务......
我们有一个包含内容的页面。
内容显示为单个图像(想想:杂志页面的图像)
在轻松阅读模式下,我想将第一块居中并缩放
文本内容并屏蔽其余内容
单击“下一步”时,我想移至下一个文本块
内容、最近更新和重新缩放
单击“后退”时,我想移至上一个文本块
内容、最近更新和重新缩放
遮罩始终是矩形,但尺寸会不断变化以适应内容
我在下面放了几张简单的图片来说明我的意思。我们目前正在使用一个图像视图和 4 个定位的黑色视图来完成此操作,但它非常不稳定并且容易出现错位。我们可以在 Glide 中完成这个任务吗?
谢谢大家!
缩放和遮罩功能可以通过两种方式实现。用于遮盖图像使用Glide https://github.com/bumptech/glide和变焦使用照片查看器 https://github.com/chrisbanes/PhotoView但正如您提到的,文本内容需要自动缩放,那么您所遵循的方法就很复杂。
Glide 为您提供了一项功能,您可以自动将缓存和内存中保存的图像大小限制为 ImageView 尺寸,例如,如果图像不应自动适合 ImageView,请调用 override(horizontalSize, VerticalSize)。这将在将图像显示在 ImageView 中之前调整图像的大小。
GlideApp
.with(context)
.load("Image resource")
.override(600, 200) // resizes the image to these dimensions (in pixel). resize does not respect aspect ratio
.into(imageView);
当您在没有已知尺寸的目标视图的情况下加载图像时,此选项也可能会有所帮助。例如,如果应用程序想要在初始屏幕中预热缓存,则它还无法测量 ImageView。但是,如果您知道图像应该有多大,请使用 override() 来提供特定大小。查看 Glide 的其他功能here https://futurestud.io/tutorials/glide-image-resizing-scaling
使用 PhotoView 进行放大和缩小,甚至它最适合在您的场景(杂志页面)中工作。它可以通过传递 photoview 实例作为 glide 中的参数来实现.into()功能
还要检查这个example https://blog.fossasia.org/adding-zooming-functionality-for-gallery-images/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)