android之动画(二)通过动画布局声明文件和关联文件为容器布局----布局动画

先上图:

android之动画(二)通过动画布局声明文件和关联文件为容器布局----布局动画_第1张图片

当然,在这里你是无法看到动态的动画效果的,当然如果你将笔者的代码运行,自然是可以看到动画效果的。这里的效果是说,当我们的list中的每一项最终显示为上图中的样子前展示给我们的动画效果。

让我们看看activity代码:

package cn.com.chenzheng_java.animation; import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; /** * @description 布局动画 * 何谓布局动画:将容器内的视图制作成动画,它是补间动画的一种。当 * 前的例子中,我们要将listView容器中的内容做成动画 * @author chenzheng_java * @since 2011/03/24 */ public class Animation2Activity extends Activity{ ListView listView; String[]city = new String[]{ "中关村", "海淀剧院", "海淀医院", "人民大学" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.animation2); listView = (ListView) findViewById(R.id.listView_animation2); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, city); listView.setAdapter(adapter); } }

animation2.xml布局文件:

 

动画声明文件:

scale_anim.xml

动画关联文件:

animation2_drawable.xml

 

代码中的注释已经说得很明白了,我就不多说了。我们这里需要注意的是,布局文件中,动画声明文件和动画关联文件的位置都是在res/anim文件夹下哦。

-----------------------------------------------------------------------------------------------

上面只是展示了一个缩放动画,那么常见的动画还有那些呢?

在这里,我们可以看到,无论是哪个动画声明文件中,都有这么一行代码:

android:interpolator="@android:anim/accelerate_interpolator"

那么,这行代码到底是干什么用的呢?

这东西,我们在android中叫做插值器。它告诉系统我们的动画的实现细节,例如一个颜色随着时间的变化而变化时,是按照线性变换,还是指数变换?还是开始的时候很快,后边渐渐地开始变慢呢?

我们都知道,@android方式代表着,这里引用的是android系统提供的一个xml布局文件。实际上,这个布局文件是android.view.animation下一个类的映射。这一类的类主要有:

AccelerateDecelerateInterpolator

AccelrateInterpolator

CycleInterpolator

LinearInterpolator

……

 

 

 

 

你可能感兴趣的:(android,animation,listview,encoding,layout,delay,android_动画)