【问题标题】:Android ImageView pan animation with scaleType centerCrop带有 scaleType centerCrop 的 Android ImageView 平移动画
【发布时间】:2023-03-15 09:56:01
【问题描述】:

我有一个 ImageView 设置为 scaleType="centerCrop" ,我正在尝试创建一个动画,将这个 ImageView 平移到它的左右边缘,这超出了视图的范围。 我该怎么做?

通常在制作动画时,我已经在屏幕上看到了完整的视图,但在这种情况下,ImageView 本身会被渲染,但它的源被缩放到其视图范围之外。因此,如果我只是为 VIEW 本身设置动画,我将不会访问源代码。

这可能与在图像视图中的画布上制作动画有关,而不是移动图像视图本身的 X、Y 位置。洞察力赞赏

关于“过于宽泛”的指控无法结束这个问题,是的,不是。

【问题讨论】:

  • 一种方法是通过操作 ImageView 的图像矩阵,虽然它有点复杂并且没有很好的文档记录。这与制作图像视图非常相似,您可以在其中放大和平移触摸手势。所以你也许可以尝试找到这些的在线源代码,然后将其修改为动画(例如 AsyncTask)而不是 onTouch。比如这样:github.com/judepereira/android-multitouch/blob/master/src/com/…
  • @Gak2 好建议,我想我在这个应用程序的另一部分使用了一些类似的代码

标签: android canvas imageview android-animation pan


【解决方案1】:

我可以用 KenBurnsView 库对象做到这一点

https://github.com/flavioarfaria/KenBurnsView

我修改了我的版本以使用从 Volley 扩展 NetworkImageView 的自定义图像视图对象

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 2020-07-27
    • 2013-03-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多