1

背景

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

问题

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

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

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

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

我试过的

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

例子

图像被缩放到左上角,并且正在慢慢滚动到右下角。

问题

有没有办法使用 API 来实现它?也许这项工作有一个图书馆?

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

4

2 回答 2

3

好的,我找到了一个名为NotBoringActionBar的好项目,它具有以我要求的相同方式在图像之间交换的相同效果。

负责此的类称为“KenBurnsView.java”。

原始库是KenBurnsView

编辑:请注意,这不适用于动态创建的位图,我已经在这里发布了。

于 2014-03-25T13:15:42.917 回答
0

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

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

例子:

首先放大左上角。

一个线程将运行并每 200 毫秒左右通知您一次。

收到通知后,您再次调用缩放功能,但这次稍微调低一点,以便在动画时看起来向下滚动。

继续直到到达右下端。

希望这可以帮助。

于 2013-03-18T11:08:23.290 回答