Gun*_*son 5 android android-animation android-imageview
我想将一个淡入动画应用到ImageView,以创建在下载完成时从网址加载的图像淡入的效果.
我知道如何将图像从URL下载到ImageView,就像在这个答案中一样,我知道如何将淡入动画应用到像这里的imageView .
这种尝试
Drawable d = ImageUtils.fetchDrawable("the url");
imageView.setImageDrawable(d);
imageView.startAnimation(fadeInAnimation);
Run Code Online (Sandbox Code Playgroud)
导致眨眼效果(见,看不见,淡入看).反转最后两行的顺序也会导致闪烁.
我用Google搜索并搜索了一个回调/监听器形式的解决方案 - 类似这样:
imageView.setOnLoadCompleteListener...
Run Code Online (Sandbox Code Playgroud)
在ImageView中注册加载完成事件,但我没有在这些行中找到任何内容.
对于如何实现此效果的解决方案的任何指示,我将不胜感激.
Aut*_*ots 32
您可以使用: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);
Run Code Online (Sandbox Code Playgroud)
设置 动画ImageView的可见性INVISIBLE或GONE
设置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) {}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11324 次 |
| 最近记录: |