Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 高級開發 >> Android使用Animation技巧講解

Android使用Animation技巧講解

編輯:高級開發

android 使用Animation的具體操作方法我們將會在這篇文章中做一個詳細的介紹。大家可以通過這裡舉出的代碼進行解讀,並從中了解到相關操作技巧,方便我們將來開發應用,並且加深對這一操作系統的理解程度。

  • android使用SDK方法詳解
  • android電源管理相關應用技巧分享
  • android NDK環境創建方法簡介
  • android界面布局基本知識簡述
  • android logcat應用指南

android中,分別可以在XML中定義Animation,也可以在程序代碼中定義,下面的小例子是利用RotateAnimation簡單展示一下兩種android使用Animation的方法,對於其他動畫,如ScaleAnimation,AlphaAnimation,原理是一樣的。

android使用Animation方法一:在XML中定義動畫:

XML代碼

  1. < ?XML version="1.0" encoding="utf-8"?>
  2. < set XMLns:android=
    "http://schemas.android.com/apk/res/android">
  3. < rotate
  4. android:interpolator="@android:anim/accelerate_
    decelerate_interpolator"
  5. android:fromDegrees="0"
  6. android:toDegrees="+360"
  7. android:duration="3000" />
  8. < !-- rotate 旋轉動畫效果
  9. 屬性:interpolator 指定一個動畫的插入器,用來控制動畫的速度變化
  10. fromDegrees 屬性為動畫起始時物件的角度
  11. toDegrees 屬性為動畫結束時物件旋轉的角度,+代表順時針
  12. duration 屬性為動畫持續時間,以毫秒為單位
  13. -->
  14. < /set>
  15. < ?XML version="1.0" encoding="utf-8"?>
  16. < set XMLns:android=
    "http://schemas.android.com/apk/res/android">
  17. < rotate
  18. android:interpolator=
    "@android:anim/accelerate_decelerate_interpolator"
  19. android:fromDegrees="0"
  20. android:toDegrees="+360"
  21. android:duration="3000" />
  22. < !-- rotate 旋轉動畫效果
  23. 屬性:interpolator 指定一個動畫的插入器,用來控制動畫的速度變化
  24. fromDegrees 屬性為動畫起始時物件的角度
  25. toDegrees 屬性為動畫結束時物件旋轉的角度,+代表順時針
  26. duration 屬性為動畫持續時間,以毫秒為單位
  27. -->
  28. < /set>

使用動畫的Java代碼,程序的效果是點擊按鈕,TextVIEw旋轉一周:

Java代碼

  1. package com.ray.animation;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.VIEw;
  5. import android.view.VIEw.OnClickListener;
  6. import android.vIEw.animation.Animation;
  7. import android.vIEw.animation.AnimationUtils;
  8. import android.widget.Button;
  9. import android.widget.TextVIEw;
  10. public class TestAnimation extends Activity
    implements OnClickListener{
  11. public void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentVIEw(R.layout.main);
  14. Button btn = (Button)findVIEwById(R.id.Button01);
  15. btn.setOnClickListener(this);
  16. }
  17. @Override
  18. public void onClick(VIEw v) {
  19. Animation anim = AnimationUtils.loadAnimation(this,
    R.anim.my_rotate_action);
  20. findViewById(R.id.TextVIEw01).startAnimation(anim);
  21. }
  22. }
  23. package com.ray.animation;
  24. import android.app.Activity;
  25. import android.os.Bundle;
  26. import android.view.VIEw;
  27. import android.view.VIEw.OnClickListener;
  28. import android.vIEw.animation.Animation;
  29. import android.vIEw.animation.AnimationUtils;
  30. import android.widget.Button;
  31. import android.widget.TextVIEw;
  32. public class TestAnimation extends Activity
    implements OnClickListener{
  33. public void onCreate(Bundle savedInstanceState) {
  34. super.onCreate(savedInstanceState);
  35. setContentVIEw(R.layout.main);
  36. Button btn = (Button)findVIEwById(R.id.Button01);
  37. btn.setOnClickListener(this);
  38. }
  39. @Override
  40. public void onClick(VIEw v) {
  41. Animation anim = AnimationUtils.loadAnimation(this,
    R.anim.my_rotate_action);
  42. findViewById(R.id.TextVIEw01).startAnimation(anim);
  43. }
  44. }

android使用Animation方法二:直接在代碼中定義動畫(效果跟方法一類似):

Java代碼

  1. package com.ray.animation;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.VIEw;
  5. import android.view.VIEw.OnClickListener;
  6. import android.vIEw.animation.AccelerateDecelerateInterpolator;
  7. import android.vIEw.animation.Animation;
  8. import android.vIEw.animation.RotateAnimation;
  9. import android.widget.Button;
  10. public class TestAnimation extends Activity
    implements OnClickListener{
  11. public void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentVIEw(R.layout.main);
  14. Button btn = (Button)findVIEwById(R.id.Button);
  15. btn.setOnClickListener(this);
  16. }
  17. public void onClick(VIEw v) {
  18. Animation anim = null;
  19. anim = new RotateAnimation(0.0f,+360.0f);
  20. anim.setInterpolator(new AccelerateDecelerateInterpolator());
  21. anim.setDuration(3000);
  22. findViewById(R.id.TextVIEw01).startAnimation(anim);
  23. }
  24. }

android使用Animation相關實現方法就為大家介紹到這裡。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved