如何像在演示文稿中一样慢慢滚动放大的图像



背景

我有一些高质量的图像,我希望在它们之间进行一些转换,比如在演示中。

问题

由于Android有很多屏幕类型,对于"演示"的每个"帧",我希望将图像放大到特定的区域/角落(如果需要(,并在某个方向上缓慢自动滚动(取决于我放大的位置(。

这样的事情发生在一些网站和显示图片库的屏幕保护程序上。

这意味着在某些屏幕中,只显示图像的一部分,而其他部分则会在滚动时显示出来。

每次慢速滚动后,我都会切换到下一个图像并执行相同的过程。

我尝试过的

我找不到这个功能的名称,因此我不知道在哪里可以找到它。

示例

图像被缩放到左上角,然后慢慢滚动到右下角。

问题

有没有一种方法可以使用API实现它?也许这份工作有图书馆?

当然,无论图像质量如何,解决方案都不能使用太多内存。

好吧,我发现了一个名为NotBoringActionBar的不错的项目,它具有与我所要求的相同的图像交换效果。

负责此操作的类称为"KenBurnsView.java"。

原始库是KenBurnsView

编辑:请注意,这在动态创建的位图中不太好用,我已经在这里发布了这方面的内容。

我还没有尝试过,但这里有一个想法-您可以通过编程放大ImageView的特定部分,并定期放大线程可以提示的其他部分。

有关缩放实现的详细信息,请参阅此答案

示例:

首先放大左上角。

每隔200毫秒左右就会有一个线程运行并通知你

收到通知后,您会再次调用缩放功能,但这次会稍微降低,以便在设置动画时向下滚动。

继续,直到到达右下角。

希望这能有所帮助。

最新更新