《android 的四中動畫效果》

<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:text="Button" />
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/button1"
        android:layout_alignLeft="@+id/button1"
        android:layout_marginBottom="20dp"
        android:text="Button" />
    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/button2"
        android:layout_alignLeft="@+id/button2"
        android:layout_marginBottom="16dp"
        android:text="Button" />
    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/button3"
        android:layout_alignRight="@+id/button3"
        android:layout_marginBottom="38dp"
        android:text="Button" />
    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/button4"
        android:layout_alignParentTop="true"
        android:layout_marginTop="26dp"
        android:src="@drawable/ic_launcher" />
</RelativeLayout>

這是佈局文件java

package com.example.move;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.RotateAnimation;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
 private Button alphaBut;//淡靜淡出
 private ImageView imageView;
 private Button rotateBut;//旋轉
 private Button scaleBut;//縮小也能夠放大
 private Button tranBut;//移動
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  alphaBut=(Button) findViewById(R.id.button1);
  rotateBut=(Button) findViewById(R.id.button2);
  scaleBut=(Button) findViewById(R.id.button3);
  tranBut=(Button) findViewById(R.id.button4);
  imageView=(ImageView) findViewById(R.id.imageView1);
  alphaBut.setOnClickListener(new AlphaButoon());
  rotateBut.setOnClickListener(new RotateButoon());
  scaleBut.setOnClickListener(new ScaleButoon());
  tranBut.setOnClickListener(new TranButoon());
 }
 class TranButoon implements OnClickListener{
  @Override
  public void onClick(View arg0) {
   AnimationSet animationSet=new AnimationSet(true);
   Animation animation=new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
   animation.setDuration(2000);
   animationSet.addAnimation(animation);
   imageView.startAnimation(animationSet);
   tranBut.startAnimation(animationSet);
  }
  
 }
 class ScaleButoon implements OnClickListener{
  
  @Override
  public void onClick(View arg0) {
   AnimationSet animationSet=new AnimationSet(true);
   Animation animation=new ScaleAnimation(1, 0.5f, 1, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,0.5f);
   animation.setDuration(2000);
   animationSet.addAnimation(animation);
   imageView.startAnimation(animationSet);
   scaleBut.startAnimation(animationSet);
  }
  
 }
 class AlphaButoon implements OnClickListener{
  
  @Override
  public void onClick(View arg0) {
   AnimationSet animationSet=new AnimationSet(true);
   Animation animation=new AlphaAnimation(0, 1);
   animation.setDuration(2000);
   animationSet.addAnimation(animation);
   imageView.startAnimation(animationSet);
   alphaBut.startAnimation(animationSet);
  }
  
 }
 
 class RotateButoon implements OnClickListener{
  @Override
  public void onClick(View arg0) {
   AnimationSet animationSet=new AnimationSet(true);
   //0-360從那個角度轉到那個角度,X軸的參考值,0,5f百分之50,Y軸的參考值,0,5f百分之50
   Animation rotate=new RotateAnimation(0, 360,Animation.RELATIVE_TO_PARENT,0.5f,Animation.RELATIVE_TO_PARENT,0.5f);
   Animation alpha=new AlphaAnimation(0, 1);
   rotate.setDuration(2000);
   animationSet.addAnimation(rotate);
   alpha.setDuration(100);
   animationSet.addAnimation(alpha);
   imageView.startAnimation(animationSet);
   rotateBut.startAnimation(animationSet);
  }
 }
}

主函數android

相關文章
相關標籤/搜索