android - 如何在从url加载的ImageView中淡入图片

标签 android android-animation android-imageview

我想对 ImageView 应用淡入动画,以创建从 url 加载的图像在下载完成时淡入的效果。

我知道如何将图像从 url 下载到 ImageView,如 this answer ,我知道如何将淡入动画应用到 imageView like here .

这次尝试

Drawable d = ImageUtils.fetchDrawable("the url");
imageView.setImageDrawable(d);
imageView.startAnimation(fadeInAnimation);

产生闪烁效果(看、看不到、淡入看)。颠倒最后两行的顺序也会导致闪烁。

我用谷歌搜索并搜索了回调/监听器形式的解决方案 - 如下所示:

imageView.setOnLoadCompleteListener...

在 ImageView 中注册加载完成事件,但我没有找到任何类似的东西。

如果能提供有关如何实现此效果的解决方案的任何指示,我将不胜感激。

最佳答案

可以使用:TransitionDrawable,简单代码如下:

        // Transition drawable with a transparent drwabale and the final bitmap
        final TransitionDrawable td =
                new TransitionDrawable(new Drawable[] {
                        new ColorDrawable(Color.TRANSPARENT),
                        new BitmapDrawable(mResources, bitmap)
                });
        // Set background to loading bitmap
        imageView.setBackgroundDrawable(
                new BitmapDrawable(mResources, mLoadingBitmap));

        imageView.setImageDrawable(td);
        td.startTransition(FADE_IN_TIME);

关于android - 如何在从url加载的ImageView中淡入图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10416871/

相关文章:

Android:以编程方式设置 ImageView layout_height

Android + 如何中断handler(run())的循环

java - PendingIntent.getBroadcast() 始终返回 null 并带有 FLAG_UPDATE_CURRENT

java - 如何从 Firebase 实时数据库引用中重复获取值?

Android - 如何创建从 ListView 中的项目到整个 Activity 的过渡?

Android - fragment 事务上的自定义动画未运行

android - ImageView 上方的按钮?

android - 有没有办法在android studio中隐藏项目 View 的某些模块

java - 如何更改应用程序的启动动画?

android - 带有可绘制选择器的 ImageView src 忽略启用状态