android动画xml文件详细实例说明
2012-02-22 16:37
357 查看
头:(当然最后以 </set>结束)
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fillAfter="true"
>
//=================================================================================================================
说明:
其中:xmlns:android="http://schemas.android.com/apk/res/android" 必须要,其余的可以任选
android:interpolator="@android:anim/decelerate_interpolator"是什么含义,文档里说的也不太清楚,其实很简单,看下面:
interpolator定义一个动画的变化率(the rate of change)。这使得基本的动画效果(alpha, scale, translate, rotate)得以
加速,减速,重复等。用通俗的一点的话理解就是:动画的进度使用 Interpolator 控制。Interpolator 定义了动画的变化速度,
可以实现匀速、正加速、负加速、无规则变加速等。Interpolator 是基类,封装了所有 Interpolator 的共同方法,它只有一个方法,
即 getInterpolation (float input),该方法 maps a point on the timeline to a multiplier to be applied to the transformations
of an animation。Android 提供了几个 Interpolator 子类,实现了不同的速度曲线,如下:AccelerateDecelerateInterpolator 在动画开始与介绍的地方速率改变比较慢,在中间的时侯加速
AccelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始加速
CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线
DecelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始减速
LinearInterpolator 在动画的以均匀的速率改变
对于 LinearInterpolator ,变化率是个常数,即 f (x) = x.
public float getInterpolation(float input) {
return input;
}
Interpolator其他的几个子类,也都是按照特定的算法,实现了对变化率。还可以定义自己的 Interpolator 子类,实现抛物线、自由落体
等物理效果。
android:fillAfter="true": 这个其实有两个,另一个是android:fillBefore="true" 这个标记的意思是说:当动画结束后停留在第一帧还是
停留在最后一帧
//=======================================================================================================================
动画设置:
1、<scale ..../>:这个是比例变化,主要意思就是缩放动画
其中的项有:
android:fromXScale="1.0" //X方向开始比例,1.0表示本来大小
android:toXScale="2.0" //X方向结束比列,2.0表示原本大小的两倍
android:fromYScale="1.0" //Y方向同X方向是一样的
android:toYScale="2.0"
android:pivotX="50%" //X方向缩放中心点,也就是这个点不动,两边缩放
android:pivotY="50%" //Y方向缩放中心点,也就是这个点不动,两边缩放
android:duration="2000" //动画持续时间(单位毫秒)
android:startOffset="2000" //动画延迟多长时间开始
2、<rotate ..../>: 旋转动画
其中的项有:
android:fromDegrees="0" //旋转动画开始角度
android:toDegrees="+360" //旋转动画结束角度,记住符号 + 表示顺时针,- 表示逆时针
android:pivotX="50%" //X方向缩放中心点,以这点为圆心旋转
android:pivotY="50%" //Y方向缩放中心点,以这点为圆心旋转
android:duration="3000" //动画持续时间(单位毫秒)
android:startOffset="1000" //动画延迟多长时间开始
3、<alpha ..../>:透明度变化
其中的项有:
android:fromAlpha="1.0" //开始时的透明度,1 表示不透明,0表示完全透明
android:toAlpha="0.2" //结束时的透明度,1 表示不透明,0表示完全透明
android:duration="2500" //动画持续时间(单位毫秒)
android:startOffset="2000" //动画延迟多长时间开始
4、<translate..../>: 移动动画
其中的项有:
android:fromXDelta="320" //移动动画初始X坐标位置
android:toXDelta="0" //移动到X坐标什么位置
android:fromYDelta="480" //移动动画初始Y坐标位置
android:toYDelta="0" //移动到Y坐标什么位置
android:duration="10000" //动画持续时间(单位毫秒)
android:startOffset="2000" //动画延迟多长时间开始
动画的使用:这里比如用一个 logo 为例,logo是一个TextView ,这里有一个动画文件
welcome.xml;我们将这个动画添加到logo中执行
logo = (TextView)findViewById(R.id.logo);
AnimationSet animation = (AnimationSet) AnimationUtils.loadAnimation(getApplicationContext(), R.anim.welcome);
//如果xml文件中没有android:interpolator="@android:anim/accelerate_interpolator",可以不要以下两句
Interpolator i = new AccelerateDecelerateInterpolator();
animation.setInterpolator(i);
//==============================================
logo.startAnimation(animation);//开始动画
//添加动画事件监听器
animation.setAnimationListener(new AnimationListener() {
public void onAnimationStart(Animation animation) {}
public void onAnimationRepeat(Animation animation) {}
@Override
public void onAnimationEnd(Animation animation) {}
}
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fillAfter="true"
>
//=================================================================================================================
说明:
其中:xmlns:android="http://schemas.android.com/apk/res/android" 必须要,其余的可以任选
android:interpolator="@android:anim/decelerate_interpolator"是什么含义,文档里说的也不太清楚,其实很简单,看下面:
interpolator定义一个动画的变化率(the rate of change)。这使得基本的动画效果(alpha, scale, translate, rotate)得以
加速,减速,重复等。用通俗的一点的话理解就是:动画的进度使用 Interpolator 控制。Interpolator 定义了动画的变化速度,
可以实现匀速、正加速、负加速、无规则变加速等。Interpolator 是基类,封装了所有 Interpolator 的共同方法,它只有一个方法,
即 getInterpolation (float input),该方法 maps a point on the timeline to a multiplier to be applied to the transformations
of an animation。Android 提供了几个 Interpolator 子类,实现了不同的速度曲线,如下:AccelerateDecelerateInterpolator 在动画开始与介绍的地方速率改变比较慢,在中间的时侯加速
AccelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始加速
CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线
DecelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始减速
LinearInterpolator 在动画的以均匀的速率改变
对于 LinearInterpolator ,变化率是个常数,即 f (x) = x.
public float getInterpolation(float input) {
return input;
}
Interpolator其他的几个子类,也都是按照特定的算法,实现了对变化率。还可以定义自己的 Interpolator 子类,实现抛物线、自由落体
等物理效果。
android:fillAfter="true": 这个其实有两个,另一个是android:fillBefore="true" 这个标记的意思是说:当动画结束后停留在第一帧还是
停留在最后一帧
//=======================================================================================================================
动画设置:
1、<scale ..../>:这个是比例变化,主要意思就是缩放动画
其中的项有:
android:fromXScale="1.0" //X方向开始比例,1.0表示本来大小
android:toXScale="2.0" //X方向结束比列,2.0表示原本大小的两倍
android:fromYScale="1.0" //Y方向同X方向是一样的
android:toYScale="2.0"
android:pivotX="50%" //X方向缩放中心点,也就是这个点不动,两边缩放
android:pivotY="50%" //Y方向缩放中心点,也就是这个点不动,两边缩放
android:duration="2000" //动画持续时间(单位毫秒)
android:startOffset="2000" //动画延迟多长时间开始
2、<rotate ..../>: 旋转动画
其中的项有:
android:fromDegrees="0" //旋转动画开始角度
android:toDegrees="+360" //旋转动画结束角度,记住符号 + 表示顺时针,- 表示逆时针
android:pivotX="50%" //X方向缩放中心点,以这点为圆心旋转
android:pivotY="50%" //Y方向缩放中心点,以这点为圆心旋转
android:duration="3000" //动画持续时间(单位毫秒)
android:startOffset="1000" //动画延迟多长时间开始
3、<alpha ..../>:透明度变化
其中的项有:
android:fromAlpha="1.0" //开始时的透明度,1 表示不透明,0表示完全透明
android:toAlpha="0.2" //结束时的透明度,1 表示不透明,0表示完全透明
android:duration="2500" //动画持续时间(单位毫秒)
android:startOffset="2000" //动画延迟多长时间开始
4、<translate..../>: 移动动画
其中的项有:
android:fromXDelta="320" //移动动画初始X坐标位置
android:toXDelta="0" //移动到X坐标什么位置
android:fromYDelta="480" //移动动画初始Y坐标位置
android:toYDelta="0" //移动到Y坐标什么位置
android:duration="10000" //动画持续时间(单位毫秒)
android:startOffset="2000" //动画延迟多长时间开始
动画的使用:这里比如用一个 logo 为例,logo是一个TextView ,这里有一个动画文件
welcome.xml;我们将这个动画添加到logo中执行
logo = (TextView)findViewById(R.id.logo);
AnimationSet animation = (AnimationSet) AnimationUtils.loadAnimation(getApplicationContext(), R.anim.welcome);
//如果xml文件中没有android:interpolator="@android:anim/accelerate_interpolator",可以不要以下两句
Interpolator i = new AccelerateDecelerateInterpolator();
animation.setInterpolator(i);
//==============================================
logo.startAnimation(animation);//开始动画
//添加动画事件监听器
animation.setAnimationListener(new AnimationListener() {
public void onAnimationStart(Animation animation) {}
public void onAnimationRepeat(Animation animation) {}
@Override
public void onAnimationEnd(Animation animation) {}
}
相关文章推荐
- Android XML动画资源文件详细讲解(下)
- AndroidManfest.xml文件详细说明
- Android开发入门二之AndroidManfest.xml文件详细说明 .
- Android XML动画资源文件详细讲解(上)
- Nginx配置文件详细说明 实例
- Tomcat中web.xml文件的详细说明
- web.xml文件配置详解以及实例说明
- Android XML字符串资源文件详细讲解
- Android AndroidManifest.xml相关flag详细说明
- Android xml实现animation的4种动画效果实例代码
- Android的动画配置xml文件
- Android 动画:你真的会使用插值器与估值器吗?(含详细实例教学)
- Myeclipse的插件mybatis-generator创建的配置文件generatorConfig.xml的配置详细说明
- 对于Android DEX文件详细说明
- AndroidManifest.xml文件结构说明
- Solr03-schema.xml文件详细说明
- Android Studio忽略文件的详细配置及说明--Gitignore文件
- android SElinux 总结--启用,关闭以及配置文件说明,很详细,值得学习
- Tomcat中web.xml文件的详细说明
- 对于Android DEX文件详细说明