listView可以说是用的最多的控件之一了,给listview添加特效,将是日后开发中在所难免的事情。
实现一个简单的listview显示
这个大家应该是相当熟悉了。
q 在布局文件中添加ListView控件。(main.xml)
q 再在Layout中新建一个ListView每一项要显示的内容。(lvitem.xml)
q 在代码中得到ListView的引用,为其设置适配器,添加数据。(DemoActivity.java)
添加特效
listview的特效是通过Animation实现,首先在res中添加文件夹anim,在其中新建一个animationSet的xml,animatonset1.xml,在其中添加要使用的特效,特效的添加参考本博客的Animation系列教程。
之后要使用LayoutAnimationController,这里简要介绍一下该类的作用。
q LayoutAnimationController用于为一个Layout里面的控件,或者是一个ViewGroup里面的控件设置动画效果。
q 每一个控件将会拥有相同的动画效果。
q 可以设置每个控件的动画效果的时间,这些工作可以在xml中也可以在代码中实现。
具体实现情况代码:animationlayout.xml。在代码中将使用android:animation="@anim/animatonset1"引用之前的animation。
最后就可以为已经写好的listview添加动画效果。添加的方式很简单,只要在listview的xml文件声明处使用android:layoutAnimation="@anim/animationlayout"就可。
看代码
animatonset1
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="1000" />
</set>
animationlayout
<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
android:delay="0.5"
android:animationOrder="random"
android:animation="@anim/animatonset1" />