Android下Animation动画的使用 及 Volley加载图片动画实现
来源:互联网 发布:三网通彩信软件 编辑:程序博客网 时间:2024/05/14 12:00
一、 Animation动画实现
1、首先准备好动图资源,每帧一张图片,放到drawable下
2、编写帧动画的xml
<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true"> <item android:drawable="@drawable/loading_01" android:duration="100" /> <item android:drawable="@drawable/loading_02" android:duration="100" /> <item android:drawable="@drawable/loading_03" android:duration="100" /> <item android:drawable="@drawable/loading_04" android:duration="100" /> <item android:drawable="@drawable/loading_05" android:duration="100" /> <item android:drawable="@drawable/loading_06" android:duration="100" /> <item android:drawable="@drawable/loading_07" android:duration="100" /> <item android:drawable="@drawable/loading_08" android:duration="100" /> <item android:drawable="@drawable/loading_09" android:duration="100" /> <item android:drawable="@drawable/loading_10" android:duration="100" /> <item android:drawable="@drawable/loading_11" android:duration="100" /> <item android:drawable="@drawable/loading_12" android:duration="100" /></animation-list>
android:oneshot 为true是只播放一次,false是无限循环发放
3、调用动画
xml调用:
<View android:id="@+id/loading" android:layout_width="wrap_content" android:layout_height="wrap_content"android:background="@drawable/login_loading"/>
View view = findViewById(R.drawable.loading);AnimationDrawable animation = (AnimationDrawable)view.getBackground();<pre name="code" class="java">animation<span style="font-family: Arial, Helvetica, sans-serif;">.start();</span>
代码调用:
View view = ...AnimationDrawable animation = (AnimationDrawable) getResources().getDrawable(R.drawable.loading);view.setBackgroundDrawable(animation);animation.start();
二、Volley加载图片动画实现
Volley默认的有一个方法
ImageLoader.getImageListener(iv, R.drawable.default_error, R.drawable.default_image);
来装载ImageView,第一个参数为ImageView控件,第二个参数为加载错误的图片,第三个参数为默认图片
里面的源码是这样的:
public static ImageListener getImageListener(final ImageView view, final int defaultImageResId, final int errorImageResId) {return new ImageListener() {@Overridepublic void onErrorResponse(VolleyError error) {if (errorImageResId != 0) {view.setImageResource(errorImageResId);}}@Overridepublic void onResponse(ImageContainer response, boolean isImmediate) {if (response.getBitmap() != null) {view.setImageBitmap(response.getBitmap());} else if (defaultImageResId != 0) {view.setImageResource(defaultImageResId);}}};}
如果图片正在获取懂,则先默认显示默认图,而要想在加载的时候显示动画,我想到的只能是自己重写listener了:
String url = "..."final ImageView iv = new ImageView(context);AnimationDrawable animation = (AnimationDrawable)context.getResources().getDrawable(R.drawable.loading);iv.setImageDrawable(animation); // 前景图为动画animation.start();ImageLoader.ImageListener listener = new ImageLoader.ImageListener() {@Overridepublic void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) {if(response.getBitmap()!=null){iv.setImageBitmap(response.getBitmap());}else{iv.setBackgroundResource(R.drawable.default_image); //背景图为默认的一张图}}@Overridepublic void onErrorResponse(VolleyError error) {iv.setImageResource(R.drawable.default_error);}};mImageLoader.get(url,listener);
用上了上面的Animation动画
0 0
- Android下Animation动画的使用 及 Volley加载图片动画实现
- 【Android界面实现】使用View Animation实现动画加载界面
- android之animation-list+图片实现的粘稠的加载动画效果
- android 使用View Animation实现动画加载界面
- android 使用View Animation实现动画加载界面
- Android 使用View Animation实现动画加载界面
- Android动画的实现Animation
- Android animation-list 实现加载动画效果
- 使用View Animation实现动画加载界面
- 使用View Animation实现动画加载界面
- Android Animation AS下动画实现
- CSS3 Animation实现加载动画
- android 视图动画的使用,Animation重写 实现旋转效果
- Android的animation(动画)
- Android的animation动画
- Android Animation动画效果的实现
- [android开发]Animation动画的实现
- Animation 加载动画的创建
- HDU 5336 XYZ and Drops(模拟十滴水游戏 BFS啊)
- php-面向对象(5)
- GitHub上README.md教程
- mysql 的job 设置
- struts2的简介_小记
- Android下Animation动画的使用 及 Volley加载图片动画实现
- poj 3579 二分+lower_bound
- angularJS---自定义过滤器
- 13.键-值编码(KVC)
- 指针函数与函数指针的区别
- Java之反射机制【入门版(1)】
- 【POJ3260】【The Fewest Coins】
- 黑马程序员——泛型
- Implement Stack using Queues