安卓 使用animation-list实现图片的逐帧变换(加载框,刷新框)(19)
2018-03-19 16:37
423 查看
我们在很多地方都会见到,在加载数据的时候,会有个转动的图片,下面配上一行文字:正在载入中,这个转动的图片其实是通过多张图片的每帧逐帧变换得到的,可以使用animation-list实现该功能。
最开始在布局文件中写一个animation-list的xml文件,其中的item为需要加入变换的图片,android:duration代表每个图片显示的时间:<?xml version="1.0" encoding="utf-8"?>
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:drawable="@drawable/bottom_1"
android:duration="1000"></item>
<item
android:drawable="@drawable/bottom_2"
android:duration="1000"></item>
<item
android:drawable="@drawable/bottom_3"
android:duration="1000"></item>
<item
android:drawable="@drawable/ic_launcher_foreground"
android:duration="1000"></item>
</animation-list>之后我们使用一个layout装入一个ImageView作为显示加载图的界面:<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<ImageView
android:id="@+id/animation1"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:src="@drawable/loading_dialog_animation"/>
<TextView
android:id="@+id/animation_text"
android:layout_below="@id/animation1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="正在加载中"
android:layout_centerHorizontal="true"/>
</RelativeLayout>创建一个Activity实现功能:public class AnimationTestActivity extends AppCompatActivity {
private ImageView animation_image;
private AnimationDrawable animationDrawable;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.animation_layout);
animation_image = findViewById(R.id.animation1);
animationDrawable = (AnimationDrawable) animation_image.getDrawable();
animationDrawable.start();
}
}
最开始在布局文件中写一个animation-list的xml文件,其中的item为需要加入变换的图片,android:duration代表每个图片显示的时间:<?xml version="1.0" encoding="utf-8"?>
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:drawable="@drawable/bottom_1"
android:duration="1000"></item>
<item
android:drawable="@drawable/bottom_2"
android:duration="1000"></item>
<item
android:drawable="@drawable/bottom_3"
android:duration="1000"></item>
<item
android:drawable="@drawable/ic_launcher_foreground"
android:duration="1000"></item>
</animation-list>之后我们使用一个layout装入一个ImageView作为显示加载图的界面:<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<ImageView
android:id="@+id/animation1"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:src="@drawable/loading_dialog_animation"/>
<TextView
android:id="@+id/animation_text"
android:layout_below="@id/animation1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="正在加载中"
android:layout_centerHorizontal="true"/>
</RelativeLayout>创建一个Activity实现功能:public class AnimationTestActivity extends AppCompatActivity {
private ImageView animation_image;
private AnimationDrawable animationDrawable;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.animation_layout);
animation_image = findViewById(R.id.animation1);
animationDrawable = (AnimationDrawable) animation_image.getDrawable();
animationDrawable.start();
}
}
相关文章推荐
- 安卓 实现一个加载Dialog 配合19的图片逐帧变换(20)
- android之animation-list+图片实现的粘稠的加载动画效果
- 安卓代码优化 使用ImageLoader实现图片异步加载
- 使用Animation list实现网络请求过程中的加载动画dialog
- Android提高篇之自定义dialog实现processDialog“正在加载”效果、使用Animation实现图片旋转
- Android提高篇之自定义dialog实现processDialog“正在加载”效果、使用Animation实现图片旋转
- 【安卓】使用多线程实现ListView中图片的异步加载
- 安卓使用AnimationList实现帧动画
- Android下Animation动画的使用 及 Volley加载图片动画实现
- 使用Animation-list实现等待加载动画效果
- iphone中使用NSoperation实现图片异步加载
- 使用NSoperation 实现异步加载图片
- js判断背景图片是否加载成功使用img的width实现
- flash AS +xml 加载图片(使用MovieClipLoader实现LOADING)
- 使用jquery的lazy loader插件实现图片的延迟加载
- 【开源项目1】使用ImageLoader实现图片异步加载
- UIWebView的一些使用技巧(手势缩放字体、先加载文本再load图片、实现@变色的UITextView等)
- 使用jquery插件实现图片延迟加载技术
- 使用ImageLoader实现图片异步加载
- 使用NSoperation 实现异步加载图片