Android(安卓)补间动画

来源:互联网 发布:大数据数据库 编辑:程序博客网 时间:2024/06/03 13:53

Android(安卓)中动画分为4中 ,补间动画为其中一种,补间动画nimationUtils类是Android系统中的动画工具类。该类中最常用的方法便是loadAnimation方法.补间动画分为4中.

思路:1.在res下键anim文件包.

     2.包里键4个文件

1.旋转

<rotate xmlns:android="http://schemas.android.com/apk/res/android"    android:fromDegrees="0"    android:toDegrees="360"    android:duration="1500"    ></rotate>

fromDegrees:表示旋转的起始角度 
toDegrees:表示旋转的结束角度 
repeatCount:旋转的次数 默认值是0 代表旋转1次 如果值是repeatCount=4 旋转5次,值为-1或者infinite时,表示补间动画永不停止 
repeatMode 设置重复的模式。默认是restart。当repeatCount的值大于0或者为infinite时才有效。 
repeatCount=-1 或者infinite 循环了 
还可以设成reverse,表示偶数次显示动画时会做与动画文件定义的方向相反的方向动行。 

2.透明 

<alpha xmlns:android="http://schemas.android.com/apk/res/android"    android:fromAlpha="0.1"    android:toAlpha="1.5"    android:duration="1500"    ></alpha>

fromAlpha :起始透明度 
toAlpha:结束透明度 
1.0表示完全不透明 
0.0表示完全透明   

3.缩放

<scale xmlns:android="http://schemas.android.com/apk/res/android"    android:fromXScale="0.1"    android:toXScale="1.5"    android:fromYScale="0.1"    android:toYScale="1.5"    android:pivotX="50%"    android:pivotY="50%"    android:duration="1500"    ></scale>

fromXScale:表示沿着x轴缩放的起始比例 
toXScale:表示沿着x轴缩放的结束比例 


fromYScale:表示沿着y轴缩放的起始比例 
toYScale:表示沿着y轴缩放的结束比例 


图片中心点: 
android:pivotX="50%" 
android:pivotY="50%" 

4.平移

<scale xmlns:android="http://schemas.android.com/apk/res/android"    android:fromXScale="0.1"    android:toXScale="1.5"    android:fromYScale="0.1"    android:toYScale="1.5"    android:pivotX="50%"    android:pivotY="50%"    android:duration="1500"    ></scale>
fromXDelta 动画起始位置的横坐标 
toXDelta 动画起结束位置的横坐标 
fromYDelta 动画起始位置的纵坐标 
toYDelta 动画结束位置的纵坐标 
duration 动画的持续时间 

布局页面

<Button    android:id="@+id/a_button"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:onClick="onclick"    android:text="旋转效果" /><Button    android:id="@+id/b_button"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:onClick="onclick"    android:text="缩放效果" /><Button    android:id="@+id/c_button"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:onClick="onclick"    android:text="渐变效果" /><Button    android:id="@+id/d_button"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:onClick="onclick"    android:text="平移效果" /><ImageView    android:id="@+id/imag"    android:layout_width="200dp"    android:layout_height="200dp"    android:layout_gravity="center"    android:src="@mipmap/ic_launcher"    />

主页面

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.ImageView;//创建项目public class MainActivity extends AppCompatActivity {private ImageView imag;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        imag= (ImageView) this.findViewById(R.id.imag);    }//    对图片实现动画效果    public void onclick(View v) {        switch (v.getId()) {            //第一个按钮实现旋转效果            case R.id.a_button:                Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.ro);                imag.startAnimation(animation);                break;            //第二个按钮实现缩放效果            case R.id.b_button:                Animation animation1 = AnimationUtils.loadAnimation(MainActivity.this, R.anim.sc);                imag.startAnimation(animation1);                break;            //第三个按钮实现渐变效果            case R.id.c_button:                Animation animation2 = AnimationUtils.loadAnimation(MainActivity.this, R.anim.al);                imag.startAnimation(animation2);                break;            //第四个按钮实现平移效果            case R.id.d_button:                Animation animation3 = AnimationUtils.loadAnimation(MainActivity.this, R.anim.tr);                imag.startAnimation(animation3);                break;        }    }}

原创粉丝点击