Android: 在其他 ImageView 后面更新 ImageView 背景
Android: Update ImageView Background while Behind other ImageView
我正在构建一个应用程序,我想在其中滑动图像,就好像它们是堆栈中的照片一样。换句话说,如果我滑动顶部图像,我希望它以动画方式朝滑动方向移动,并始终显示其下方的下一张图像。为此,我使用了一个 FrameLayout
和两个 ImageView
容器。我只是交替哪个在上面。同时,一旦滑动发生,下一张图像就会使用 setBackground(drawable)
加载到后面的 ImageView
中。我的问题是后面的 ImageView
在我调用 bringToFront()
之前不会更新它的图像,这意味着当顶部 ImageView
正在动画时,下面的图像不正确直到动画完成,此时它突然变为正确的图像。我试过在 setBackground(drawable)
之后调用 ImageView
后面的 invalidate()
但这不起作用。任何人都知道如何让图像在落后时更新?
更新:事实证明我今天不太在意它。我正在更新错误 ImageView
并且因为图像加载是在网络之外完成的,所以延迟足以让我认为这是在动画完成后发生的。
在我看来你想做类似 Image Slider.
的事情
有很多用于此目的的优秀库,例如这个:
https://github.com/daimajia/AndroidImageSlider
如果您不想使用它,这里有一些提示:
ImageView
上的图像设置为setImageDrawable(Drawable)
当您的动画开始时,将新图像设置到您的 ImageView
后面并将可见的图像滑开。
当可见的ImageView
滑开后,将其可见性设置为GONE
并将其移到第二个ImageView
[=42之后=]
每次加载新图像时都执行此操作。
这应该确实有效。
你需要一个"ViewPager"
https://developer.android.com/training/animation/screen-slide.html
它具有容纳 "N" 数量图像的所有必要句柄 - 还支持多个滑动动画 - 默认处理程序 - 高效的内存管理 - 预取 - 你都可以享受这个盛宴!!
只需确保在 "ViewPager" 上开发的 "pages" 布局中得到 "ImageView"。
我正在构建一个应用程序,我想在其中滑动图像,就好像它们是堆栈中的照片一样。换句话说,如果我滑动顶部图像,我希望它以动画方式朝滑动方向移动,并始终显示其下方的下一张图像。为此,我使用了一个 FrameLayout
和两个 ImageView
容器。我只是交替哪个在上面。同时,一旦滑动发生,下一张图像就会使用 setBackground(drawable)
加载到后面的 ImageView
中。我的问题是后面的 ImageView
在我调用 bringToFront()
之前不会更新它的图像,这意味着当顶部 ImageView
正在动画时,下面的图像不正确直到动画完成,此时它突然变为正确的图像。我试过在 setBackground(drawable)
之后调用 ImageView
后面的 invalidate()
但这不起作用。任何人都知道如何让图像在落后时更新?
更新:事实证明我今天不太在意它。我正在更新错误 ImageView
并且因为图像加载是在网络之外完成的,所以延迟足以让我认为这是在动画完成后发生的。
在我看来你想做类似 Image Slider.
的事情有很多用于此目的的优秀库,例如这个:
https://github.com/daimajia/AndroidImageSlider
如果您不想使用它,这里有一些提示:
ImageView
上的图像设置为setImageDrawable(Drawable)
当您的动画开始时,将新图像设置到您的
ImageView
后面并将可见的图像滑开。当可见的
[=42之后=]ImageView
滑开后,将其可见性设置为GONE
并将其移到第二个ImageView
每次加载新图像时都执行此操作。
这应该确实有效。
你需要一个"ViewPager"
https://developer.android.com/training/animation/screen-slide.html
它具有容纳 "N" 数量图像的所有必要句柄 - 还支持多个滑动动画 - 默认处理程序 - 高效的内存管理 - 预取 - 你都可以享受这个盛宴!!
只需确保在 "ViewPager" 上开发的 "pages" 布局中得到 "ImageView"。