Android动画效果


Android动画效果可以给人一种视觉感受,下面我将列举一些常用的动画效果。

1.在图片显示过程中使用动画效果,可以给人一种感觉。比如渐进渐出的效果。

下面贴上代码。

  1. mSwitcher = (ImageSwitcher) findViewById(R.id.switcher);   
  2.        mSwitcher.setFactory(this);   
  3.         
  4.        mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,   
  5.                android.R.anim.fade_in));   
  6.        mSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,   
  7.                android.R.anim.fade_out));  

android.R.anim.fade_in, android.R.anim.fade_out两种动画效果是系统自带的效果。

2.下面介绍自定义的动画效果。

  1. // 實現動畫效果   
  2.         Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);   
  3.         findViewById(R.id.pw).startAnimation(shake);  

里面用到的shake.xml文件,存放在anim目录下面。代码如下:

  1. <translate xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     android:fromXDelta="0" android:toXDelta="10" android:duration="1000"  
  3.     android:interpolator="@anim/cycle_7" />  

而里面的cycle_7.xml,代码如下所示:

  1. <cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"  
  2.                    android:cycles="7"  
  3.   />  

下面介绍APIDEMO中的动画效果。

第一种ViewFlipper中各背景图片的切换效果。

  1. public class Animation2 extends Activity implements  
  2.         AdapterView.OnItemSelectedListener {   
  3.     @Override  
  4.     public void onCreate(Bundle savedInstanceState) {   
  5.         super.onCreate(savedInstanceState);   
  6.         setContentView(R.layout.animation_2);   
  7.         mFlipper = ((ViewFlipper) this.findViewById(R.id.flipper));   
  8.         mFlipper.startFlipping();   
  9.         Spinner s = (Spinner) findViewById(R.id.spinner);   
  10.         ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,   
  11.                 android.R.layout.simple_spinner_item, mStrings);   
  12.         adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);   
  13.         s.setAdapter(adapter);   
  14.         s.setOnItemSelectedListener(this);   
  15.     }   
  16.     public void onItemSelected(AdapterView parent, View v, int position, long id) {   
  17.         switch (position) {   
  18.         case 0:   
  19.             mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,   
  20.                     R.anim.push_up_in));   
  21.             mFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,   
  22.                     R.anim.push_up_out));   
  23.             break;   
  24.         case 1:   
  25.             mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,   
  26.                     R.anim.push_left_in));   
  27.             mFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,   
  28.                     R.anim.push_left_out));   
  29.             break;   
  30.         case 2:   
  31.             mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,   
  32.                     android.R.anim.fade_in));   
  33.             mFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,   
  34.                     android.R.anim.fade_out));   
  35.             break;   
  36.         default:   
  37.             mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,   
  38.                     R.anim.hyperspace_in));   
  39.             mFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,   
  40.                     R.anim.hyperspace_out));   
  41.             break;   
  42.         }   
  43.     }   
  44.     public void onNothingSelected(AdapterView parent) {   
  45.     }   
  46.     private String[] mStrings = {   
  47.             "Push up""Push left""Cross fade""Hyperspace"};   
  48.     private ViewFlipper mFlipper;   
  49. }  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 下一页

相关内容