Android:在其他ImageView

时间:2016-06-07 19:33:03

标签: android android-layout imageview android-animation android-framelayout

我正在构建一个应用程序,我想要将图像滑动,就好像它们是堆栈中的照片一样。换句话说,如果我滑动顶部图像,我希望它在滑动方向上进行动画移动,并使整个时间下面的下一个图像可见。为此,我使用了FrameLayout和两个ImageView容器。我只是交替哪一个在顶部。同时,只要进行滑动,下一张图片就会使用ImageView加载到后面的setBackground(drawable)。我的问题是后面的ImageView没有更新它的图像,直到我在其上调用bringToFront(),这意味着顶部ImageView是动画,在动画完成之前,下面的图像是不正确的,此时它突然变为正确的图像。我invalidate()之后尝试在ImageView后面拨打setBackground(drawable),但这不起作用。任何人都有任何想法,如何让图像更新,但它落后了?

更新:事实证明我今天对此不太了解。我正在更新错误的ImageView并且因为图像加载是在网络外完成的,所以只有足够的滞后让我觉得它在动画完成后才会发生。

2 个答案:

答案 0 :(得分:0)

对我来说听起来像是想做像 Image Slider 这样的事情。

为此目的存在很好的库,例如:

https://github.com/daimajia/AndroidImageSlider

如果您不想使用此功能,请参阅以下提示:

  • ImageView上的图片设置为setImageDrawable(Drawable)

  • 当动画开始时,将新图像设置为后面的ImageView并将可见的图像滑开。

  • 当可见的ImageView已经滑落时,将其设置为GONE,并将其移至第二个ImageView

  • 后面

每次加载新图像时都这样做。

这实际上应该有效。

答案 1 :(得分:0)

你需要一个“ViewPager”

  

https://developer.android.com/training/animation/screen-slide.html

它具有容纳“N”个图像的所有必要手柄 - 还支持多个滑动动画 - 默认处理程序 - 高效的内存管理 - 预取 - 您将全力以赴地进行盛宴!!

只需确保在“ViewPager”中希望开发的“页面”布局中获得“ImageView”。