通过一段时间的学习,能够搭建一些简单布局了,并且能够实现一些Activity之间的交互。但总觉得页面过于单调,所以去找了一些关于动画方面的资料进行学习。
昨天写了一个通过set元素和alpha元素实现fade in和fade out效果的动画,非常简单好用
一. 今天试了一下Drawable Animation,可以对一些图标或者插图添加动画效果,接下来我利用电池电量的变换做了一个简单的Demo
实现过程:
自定义drawable_anim.xml文件,通过根元素animation-list和item元素自定义动画,item中添加不同的电池电量的图片。
将drawable_anim.xml作为背景图片添加到ImageView视图中,实现动画效果
效果展示:
1. drawable_main_activity.xml布局代码,用于demo的主页面布局
ImageView用于加载drawable_main.xml文件,通过动画方式变化drawable_main.xml中的item
layout_centerHorizontal = “true”将ImageView位于布局水平中心位置
2. drawable_main.xml代码,用于添加动画的属性
android:oneshot="true"代表动画效果只有一次,如果想要设置为无限循环,可设置为false
四个item代表了不同电量的图片,通过Animation类进行切换实现动画效果
duration代表时间长度
3. MainActivity.java代码实现
关联主页布局,关联ImageView控件
通过setBackgroundResource()方法将drawable_anim.xml文件加载到时ImageView视图,注意ImageView布局中无需加入任何src或者backgournd元素
实现可绘制动画需要依靠AnimationDrawable类,实例化AnimationDrawable类,将ImageView的Background加载到AnimationDrawable实例中
添加点击监听事件,当用户点击ImageView,AnimationDrawable实例通过start()方法开始动画
4. 这个Demo只是展示了很简单的应用方式,更多的拓展方法还有很多