Android 四種動畫效果的呼叫
阿新 • • 發佈:2019-02-10
在這裡, 我將每種動畫分別應用於四個按鈕為例:
java程式碼:
效果圖:
(1) main.xml 程式碼如下:(宣告四個按鈕控制元件)
XML程式碼:
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:id="@+id/widget32" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" > <TextView android:id="@+id/widget29" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" android:layout_x="0px" android:layout_y="0px" > </TextView> <Button android:id="@+id/button_Alpha" android:layout_width="150px" android:layout_height="150px" android:text="Alpha動畫" android:textSize="50px" android:layout_x="0px" android:layout_y="30px"> </Button> <Button android:id="@+id/button_Scale" android:layout_width="150px" android:layout_height="150px" android:text="Scale動畫" android:textSize="50px" android:layout_x="0px" android:layout_y="180px"> </Button> <Button android:layout_width="150px" android:layout_height="150px" android:text="Translate動畫" android:layout_x="161px" android:layout_y="30px" android:textSize="30px" android:id="@+id/button_Translate"> </Button> <Button android:id="@+id/button_Rotate" android:layout_width="150px" android:layout_height="150px" android:text="Rotate動畫" android:layout_y="180px" android:layout_x="161px" android:textSize="44px"> </Button> </AbsoluteLayout>
java程式碼:
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.Button; public class myActionAnimation extends Activity implements OnClickListener { /** Called when the activity is first created. */ private Button button_alpha; private Button button_scale; private Button button_translate; private Button button_rotate; private Animation myAnimation_Alpha; private Animation myAnimation_Scale; private Animation myAnimation_Translate; private Animation myAnimation_Rotate; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button_alpha = (Button) findViewById(R.id.button_Alpha); button_alpha.setOnClickListener(this); button_scale = (Button) findViewById(R.id.button_Scale); button_scale.setOnClickListener(this); button_translate = (Button) findViewById(R.id.button_Translate); button_translate.setOnClickListener(this); button_rotate = (Button) findViewById(R.id.button_Rotate); button_rotate.setOnClickListener(this); } public void onClick(View button) { // TODO Auto-generated method stub switch (button.getId()) { case R.id.button_Alpha: { myAnimation_Alpha = AnimationUtils.loadAnimation(this,R.layout.my_alpha_action); button_alpha.startAnimation(myAnimation_Alpha); } break; case R.id.button_Scale: { myAnimation_Scale= AnimationUtils.loadAnimation(this,R.layout.my_scale_action); button_scale.startAnimation(myAnimation_Scale); } break; case R.id.button_Translate: { myAnimation_Translate= AnimationUtils.loadAnimation(this,R.layout.my_translate_action); button_translate.startAnimation(myAnimation_Translate); } break; case R.id.button_Rotate: { myAnimation_Rotate= AnimationUtils.loadAnimation(this,R.layout.my_rotate_action); button_rotate.startAnimation(myAnimation_Rotate); } break; default: break; } } }
效果圖: