我只是想看看是否有人可以向我指出正确的方向,以学习如何使用Glide完成此任务...
我们有一个包含内容的页面。
内容显示为单个图像(认为:杂志页面的图像)
在轻松阅读模式下,我想对文本内容的第一块进行居中和缩放,对其余部分进行遮罩
单击“下一个”时,我想移至下一个文本内容块,即最近显示并缩放
单击“后退”时,我想移至上一个文本内容块,最近显示并重新缩放
遮罩将始终为矩形,但大小将不断更改以适合内容
我在下面放了几个简单的图像来说明我的意思。目前,我们正在使用imageview和我们定位的4个黑色视图来执行此操作,但是它非常过时并且容易出现未对齐的情况。我们可以在Glide中做到这一点吗?
谢谢大家!
缩放和蒙版功能可以通过两种方式实现。对于蒙版图像,请使用Glide;对于缩放,请使用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);
当尚无已知尺寸的目标视图加载图像时,此选项也可能很有用。例如,如果该应用想要预热初始屏幕中的缓存,则它尚无法测量ImageViews。但是,如果您知道图像应该多大,请使用override()提供特定大小。从此处检查Glide的其他功能
使用PhotoView进行放大和缩小,甚至最适合您的情况(杂志页面)。可以通过将photoview实例作为参数传递给glide .into()函数来实现
还要检查这个例子