android复习路之tween动画篇

来源:互联网 发布:怎么不能申请淘宝直播 编辑:程序博客网 时间:2024/05/18 13:28

放大和缩小:

缩小的xml

<?xml version="1.0" encoding="utf-8"?><scale xmlns:android="http://schemas.android.com/apk/res/android"    android:fromXScale="1.0"    android:toXScale="0.0"    android:fromYScale="1.0"    android:toYScale="0.0"    android:pivotX="50%"    android:pivotY="50%"    android:duration="2000"    >    <!-- from代表开始的缩放比例        toScale代表结束的缩放比例        pivo代表缩放中心位置        druation 代表播放时间        scale 为缩放标签    --></scale>
放大的xml
<?xml version="1.0" encoding="utf-8"?><scale  xmlns:android="http://schemas.android.com/apk/res/android"    android:fromXScale="0"    android:toXScale="1.0"    android:fromYScale="0"    android:toYScale="1.0"    android:pivotY="50%"    android:pivotX="50%"    android:duration="2000"    ></scale>
mian代码:
package com.example.zobject.tween;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends AppCompatActivity {    Animation animationLittle;//缩小动画    Animation animationBig;//放大动画    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button button= (Button) findViewById(R.id.button);        Button button1= (Button) findViewById(R.id.button2);        final ImageView imageView= (ImageView) findViewById(R.id.imageView);        animationLittle= AnimationUtils.loadAnimation(this,R.anim.little);//绑定缩小动画的xml        animationBig=AnimationUtils.loadAnimation(this,R.anim.big);//绑定放大动画的xml        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                imageView.startAnimation(animationLittle);//执行缩小动画            }        });        button1.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                imageView.startAnimation(animationBig);//执行放大动画            }        });    }}
旋转动画:
<?xml version="1.0" encoding="utf-8"?><rotate xmlns:android="http://schemas.android.com/apk/res/android"    android:interpolator="@android:anim/accelerate_decelerate_interpolator"    android:fromDegrees="0"    android:toDegrees="360"    android:pivotY="50%"    android:pivotX="50%"    android:duration="2000"    ></rotate>

    <rotate>标签为旋转节点  Tween一共为我们提供了3种动画渲染模式。    android:interpolator="@android:anim/accelerate_interpolator" 设置动画渲染器为加速动画(动画播放中越来越快)    android:interpolator="@android:anim/decelerate_interpolator" 设置动画渲染器为减速动画(动画播放中越来越慢)    android:interpolator="@android:anim/accelerate_decelerate_interpolator" 设置动画渲染器为先加速在减速(开始速度最快 逐渐减慢)    如果不写的话 默认为匀速运动    android:fromDegrees="+360"设置动画开始的角度    android:toDegrees="0"设置动画结束的角度    这个动画布局设置动画将向左做360度旋转加速运动。  

移动动画:
<?xml version="1.0" encoding="utf-8"?><translate xmlns:android="http://schemas.android.com/apk/res/android"
 移动动画标签
android:fromXDelta="0" 移动的初始位置 android:toXDelta="320"移动后的位置 android:fromYDelta="0" android:toYDelta="480" android:duration="2000" android:repeatCount="3" 重复次数 如果是永远用infinite ></translate>
透明动画
<?xml version="1.0" encoding="utf-8"?><alpha  xmlns:android="http://schemas.android.com/apk/res/android"android:fromAlpha="1.0"android:toAlpha="0.0"android:repeatCount="infinite"android:duration="2000"></alpha><alpha>标签为alpha透明度节点android:fromAlpha="1.0" 设置动画起始透明度为1.0 表示完全不透明android:toAlpha="0.0"设置动画结束透明度为0.0 表示完全透明也就是说alpha的取值范围为0.0 - 1.0 之间  
动画合集
<set xmlns:android="http://schemas.android.com/apk/res/android">    <rotate        android:interpolator="@android:anim/accelerate_interpolator"        android:fromDegrees="+360"        android:toDegrees="0"        android:pivotX="50%"        android:pivotY="50%"        android:duration="2000"        android:repeatCount="infinite"        />    <alpha  android:fromAlpha="1.0"        android:toAlpha="0.0"        android:repeatCount="infinite"        android:duration="2000">    </alpha>    <translate        android:fromXDelta="0"        android:toXDelta="320"        android:fromYDelta="0"        android:toYDelta="480"        android:duration="2000"        android:repeatCount="infinite"        /></set>
注:用tween动画的时候需要在res下面创建一个anim文件夹在anim中写动画xml,缩放动画scale,旋转动画rotate ,移动动画translate,透明渐变动画alpha,动画合集set。代码中使用动画的方式在第一个旋转动画中有注释,写法都是一样的。由于是动画效果不好放图就不放了。效果是都可以实现的。

0 0
原创粉丝点击