XMl实现补间动画

1.定义图片和按钮

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >

    <LinearLayout 
        android:id="@+id/linear"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >
        
        <Button 
            android:id="@+id/translat"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="位移"
            android:onClick="translat"
            />
        <Button 
            android:id="@+id/scale"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="缩放"
            android:onClick="scale"
            />
        <Button 
            android:id="@+id/rotate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="旋转"
            android:onClick="rotate"
            />
        <Button 
            android:id="@+id/alphat"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="透明"
            android:onClick="alphat"
            />
        <Button 
            android:id="@+id/set"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="组合动画"
            android:onClick="set"
            />
        
    </LinearLayout>
    
    <ImageView 
        android:id="@+id/image"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:background="@drawable/n"
        android:layout_below="@id/linear"
        />
    
    
    
</RelativeLayout>

2.在res文件夹里创建anim文件夹并在里面分别创建xml文件

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromAlpha="0"
    android:toAlpha="1.0"
    android:duration="3000"
    >
</alpha>
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:toDegrees="720"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration="3000"
    >
    

</rotate>
<?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:pivotX="50%"
    android:pivotY="50%"
    android:duration="3000"
    >
    

</scale>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    	android:duration="3000"
    >
    <alpha 
        android:fromAlpha="0"
        android:toAlpha="1.0"
        />
    <scale 
        android:fromXScale="0"
        android:toXScale="1.0"
        android:fromYScale="0"
        android:toYScale="1.0"
        android:pivotX="50%"
        android:pivotY="50%"
        />
    <rotate 
        android:fromDegrees="0"
        android:toDegrees="360"
        android:pivotX="50%"
        android:pivotY="50%"
        />
    <translate 
        android:fromXDelta="0%p"
        android:toXDelta="100%p"
        android:fromYDelta="0%p"
        android:toYDelta="100%p"
        />

</set>
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0%p"
    android:toXDelta="100%p"
    android:fromYDelta="0%p"
    android:toYDelta="100%p"
    android:duration="3000"
    >
    
	<!-- %p 围绕父窗体   %围绕自身 -->
</translate>

 3.Java代码

           加载文件

package com.example.day16_animaction_java_demo;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationSet;
import android.view.animation.AnimationUtils;
import android.view.animation.RotateAnimation;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity {

	private ImageView imageView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取资源ID
        imageView = (ImageView) findViewById(R.id.image);
        
    }
    //位移
    public void translat(View v){
    		//加载XML文件
    		Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.translate);
    		imageView.startAnimation(animation);
    	
    }
    //缩放
    public void scale(View v){
    		//加载XML文件
		Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.scale);
		imageView.startAnimation(animation);
    }
    //旋转
    public void rotate(View v){
    		Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate);
		imageView.startAnimation(animation);
    }
    //透明
    public void alphat(View v){
    		Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.alpha);
		imageView.startAnimation(animation);
    	
    }
    //组合
    public void set(View v){
    		Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.set);
		imageView.startAnimation(animation);
    
    }
    
}

猜你喜欢

转载自blog.csdn.net/wangshuo_/article/details/84106585
今日推荐