android之animation-list+图片实现的粘稠的加载动画效果
2016-02-02 17:57
821 查看
Tween动画详解:/article/1892133.html
用animation-list+图片实现的粘稠的加载动画效果:
一:progressbar的动画加载
举例二:
此动画集合:animation-list的xml,可放在anim或者drawable目录下均可
demo:http://download.csdn.net/detail/zhongwn/9425952
用animation-list+图片实现的粘稠的加载动画效果:
一:progressbar的动画加载
AnimationDrawable animation = new AnimationDrawable(); for (int i = 1; i < 61; i++) { animation.addFrame(Drawable.createFromPath(path+"/lmb_jump_"+i+".png"), 50); } animation.setOneShot(false); progressBar.setIndeterminateDrawable(animation); animation.start();
举例二:
package com.example.loadingview; import android.content.Context; import android.graphics.drawable.AnimationDrawable; import android.util.AttributeSet; import android.view.View; import android.widget.FrameLayout; import android.widget.ImageView; public class LoadingView extends FrameLayout { private Context mContext; private ImageView ivLoading; private AnimationDrawable loadingAniDrawable; public LoadingView(Context context) { super(context); init(context); } public LoadingView(Context context, AttributeSet attrs) { super(context, attrs); init(context); } public LoadingView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(context); } private void init(Context context) { mContext = context; View view = View.inflate(mContext, R.layout.loading_animation_layout, this); ivLoading = (ImageView) view.findViewById(R.id.iv_loading); /** * 这里设置的是setBackgroundResource,那么你获取的时候通过getBackground */ // ivLoading.setBackgroundResource(R.anim.loading_animation); // loadingAniDrawable = (AnimationDrawable) ivLoading.getBackground(); /** * 这里设置的是setImageResource,那么你获取的时候通过getDrawable */ ivLoading.setImageResource(R.anim.loading_animation); loadingAniDrawable = (AnimationDrawable) ivLoading.getDrawable(); if (View.GONE == getVisibility()) { loadingAniDrawable.stop(); } } @Override public void setVisibility(int visibility) { super.setVisibility(visibility); if (View.GONE == visibility) {// 不可见时不执行动画 stop(); } else {// 可见时执行动画 start(); } } public void stop() { if (loadingAniDrawable.isRunning()) { loadingAniDrawable.stop(); } } public void start() { if (!loadingAniDrawable.isRunning()) { loadingAniDrawable.start(); } } }
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerInParent="true" android:gravity="center" android:orientation="vertical" > <ImageView android:id="@+id/iv_loading" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/lmb_jump_1" /> <TextView android:id="@+id/tv_click_loading" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="努力加载中" /> </LinearLayout> </RelativeLayout>
此动画集合:animation-list的xml,可放在anim或者drawable目录下均可
<?xml version="1.0" encoding="UTF-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false" > <!-- oneshot:true只显示一次,false:无限循环 --> <item android:drawable="@drawable/lmb_jump_1" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_1" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_2" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_3" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_4" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_5" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_6" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_7" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_8" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_9" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_11" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_12" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_13" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_14" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_15" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_16" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_17" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_18" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_19" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_21" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_22" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_23" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_24" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_25" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_26" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_27" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_28" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_29" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_30" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_31" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_32" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_33" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_34" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_35" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_36" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_37" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_38" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_39" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_40" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_41" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_42" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_43" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_44" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_45" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_46" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_47" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_48" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_49" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_50" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_51" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_52" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_53" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_54" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_55" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_56" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_57" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_58" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_59" android:duration="50"/> <item android:drawable="@drawable/lmb_jump_60" android:duration="50"/> </animation-list>
demo:http://download.csdn.net/detail/zhongwn/9425952
相关文章推荐
- Android的smali动态调试方法
- Android 动画原理(一)
- Android 数据恢复 view的id
- Android常见问题及开发经验总结(三)
- Android 解决TextVIew加载自定义字体慢的问题
- android sudio提示快捷键冲突解决
- GitHub上最受欢迎的Android开源项目TOP20
- android的感谢
- Android中Gson解析详解json3
- 关于Android的addview
- Android中Gson解析详解json2
- Android常用工具类
- Android中短信发送倒计时方法
- Android的生成日志文件
- Androidx学习笔记(43)--- 带断点续传的多线程下载(java项目)
- Androidx学习笔记(42)--- 多线程下载(java项目)
- Android--字符串和16进制相互转化(解决中文乱码)
- Android LayoutInflater详解
- Android MVP与MVC的区别和理解
- ViewPager滑动背景渐变效果