如何在ImageView的淡入从网址下载(How to fade in picture in Ima

2019-07-29 06:08发布

我想淡入动画应用到的ImageView创建图像,这是从URL加载的,当下载完成后淡入的效果。

我知道如何从URL中下载图像的ImageView的,像这样的回答 ,我知道如何应用淡入动画的ImageView的喜欢这里 。

这种尝试

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

结果在眨眼的效果(参见,未看到,淡入看)。 扭转了最后两行的顺序也导致闪烁。

我GOOGLE和SO搜索在回调/监听器的形式的解决方案 - 是这样的:

imageView.setOnLoadCompleteListener...

中注册的ImageView加载完整事件,但我还没有发现沿着这些线路的东西。

我会为任何指针就如何实现这一效果的解决方案表示感谢。

Answer 1:

设置ImageView知名度, INVISIBLEGONE设置setAnimationListener的动画。 当onAnimationEnd改变的可视性ImageView

fadeInAnimation.setAnimationListener(new AnimationListener() {
        @Override
        public void onAnimationEnd(Animation arg0) {

           // let make your image visible


        }

        @Override
        public void onAnimationRepeat(Animation animation) {}
        @Override
        public void onAnimationStart(Animation animation) {}
    });


Answer 2:

您可以使用: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);


文章来源: How to fade in picture in ImageView loaded from url