成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android ApiDemo示例解讀3:App->Activity->Animation

移動開發 Android
SDK中的示例程序App->Activity->Animation演示了切換Activity時的動畫效果。提供了兩種動畫效果,一種是Fade In漸變,后出現的Activity由淺入深逐漸顯示;另一種是Zoom放大效果,后出現的Activity由小及大逐漸顯示。

SDK中的示例程序App->Activity->Animation演示了切換Activity時的動畫效果。提供了兩種動畫效果,一種是Fade In漸變,后出現的Activity由淺入深逐漸顯示;另一種是Zoom放大效果,后出現的Activity由小及大逐漸顯示。

Android 中 Animation 資源可以分為兩種:

Tween Animation 對單個圖像進行各種變換(縮放,平移,旋轉等)來實現動畫。

Frame Animation 由一組圖像順序顯示顯示動畫。

Animation 中使用的是Tween Animation,使用的資源為R.anim.fade、R.anim.hold、R.anim.zoom_enter、R.anim.zoom_exit。

其中R.anim.fade、R.anim.zoom_enter分別為Fade In 和 Zoom動畫資源。其定義為:

fade.xml

  1. <alpha xmlns:android=”http://schemas.android.com/apk/res/android”    
  2. android:interpolator=”@android:anim/accelerate_interpolator”    
  3. android:fromAlpha=”0.0″ android:toAlpha=”1.0″    
  4. android:duration=”@android:integer/config_longAnimTime” />   

zoom_center.xml

  1. <set xmlns:android=”http://schemas.android.com/apk/res/android”    
  2. android:interpolator=”@android:anim/decelerate_interpolator”>   
  3. <scale android:fromXScale=”2.0″ android:toXScale=”1.0″    
  4.  android:fromYScale=”2.0″ android:toYScale=”1.0″    
  5.  android:pivotX=”50%p” android:pivotY=”50%p”    
  6.  android:duration=”@android:integer/config_mediumAnimTime” />   
  7. </set>   

tween animation 資源定義的格式如下:

  1. <?xml version=”1.0″ encoding=”utf-8″?>   
  2.  <set xmlns:android=”http://schemas.android.com/apk/res/android”    
  3.  android:interpolator=”@[package:]anim/interpolator_resource”    
  4.  android:shareInterpolator=[ ” true ” false “>   
  5.  <alpha   
  6.  android:fromAlpha=”float”    
  7.  android:toAlpha=”float” />   
  8.  <scale   
  9.  android:fromXScale=”float”    
  10.  android:toXScale=”float”    
  11.  android:fromYScale=”float”    
  12.  android:toYScale=”float”    
  13.  android:pivotX=”float”    
  14.  android:pivotY=”float” />   
  15.  <translate   
  16.  android:fromXDelta=”float”    
  17.  android:toXDelta=”float”    
  18.  android:fromYDelta=”float”    
  19.  android:toYDelta=”float” />   
  20.  <rotate   
  21.  android:fromDegrees=”float”    
  22.  android:toDegrees=”float”    
  23.  android:pivotX=”float”    
  24.  android:pivotY=”float” />   
  25.  <set> …    
  26.  </set>   
  27.  </set>   

<set> 為其它animation類型<alpha>,<scale>,<translate>和<rotate>或其它<set>的容器。

android:interpolator 為Interpolator資源ID,Interpolator定義了動畫的變化速率,動畫的各幀的顯示可以加速,減速,重復顯示。

android:shareInterpolator 如果想為<set>中的各個子動畫定義共享interpolator,shareInterpolator 則設為true。

<alpha> 定義Fade in 、Fade out 動畫,其對應的Android類AlphaAnimation,參數由fromAlpha,toAlpha定義。

<scale>定義縮放動畫,其對應的Android類為ScaleAnimation,參數由fromXScale、toXScale、 fromYScale、toYScale、pivotX、pivotY定義,pivotX、pivotY定義了縮放時的中心。

<translate>定義平移動畫,其對應的Android類為TranslateAnimation,參數由fromXDelta、toXDelta、fromYDelta、toYDelta定義。

<rotate>定義選擇動畫,其對應的Android類RotateAnimation,參數由fromDegrees、toDegrees、pivotX、pivotY, pivotX、pivotY定義選擇中心。

Animation中的Fade In和Zoom In按鈕的事件處理代碼:

  1. private OnClickListener mFadeListener = new OnClickListener() {    
  2.  public void onClick(View v) {    
  3.  // Request the next activity transition (here starting a new one).    
  4.  startActivity(new Intent(Animation.this, Controls1.class));    
  5.  // Supply a custom animation.  This one will just fade the new    
  6.  // activity on top.  Note that we need to also supply an animation    
  7.  // (here just doing nothing for the same amount of time) for the    
  8.  // old activity to prevent it from going away too soon.    
  9.  overridePendingTransition(R.anim.fade, R.anim.hold);    
  10.  }    
  11. };   
  12. private OnClickListener mZoomListener = new OnClickListener() {    
  13.  public void onClick(View v) {    
  14.  // Request the next activity transition (here starting a new one).    
  15.  startActivity(new Intent(Animation.this, Controls1.class));    
  16.  // This is a more complicated animation, involving transformations    
  17.  // on both this (exit) and the new (enter) activity.  Note how for    
  18.  // the duration of the animation we force the exiting activity    
  19.  // to be Z-ordered on top (even though it really isn't) to achieve    
  20.  // the effect we want.    
  21.  overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);    
  22.  }    
  23. };   

從代碼可以看到Activity Animation到其它Activity Controls1 切換的動畫使用overridePendingTransition 來定義,函數overridePendingTransition(int enterAnim, int exitAnim) 必須定義在StartActivity(Intent) 或是 Activity.finish()之后來定義兩個Activity切換時的動畫,enterAnim 為新Activity出現時動畫效果,exitAnim則定義了當前Activity退出時動畫效果。

責任編輯:閆佳明 來源: jizhuomi
相關推薦

2013-12-19 14:28:04

Android ApiAndroid開發Android SDK

2013-12-19 14:32:31

Android ApiAndroid開發Android SDK

2013-12-19 14:34:52

Android ApiAndroid開發Android SDK

2013-12-19 14:36:43

Android ApiAndroid開發Android SDK

2013-12-19 14:13:16

Android ApiAndroid開發Android SDK

2013-12-19 14:16:46

Android ApiAndroid開發Android SDK

2013-12-19 13:40:44

Android ApiAndroid開發Android SDK

2013-12-19 13:51:12

Android ApiAndroid開發Android SDK

2013-12-19 16:26:29

Android ApiAndroid開發Android SDK

2010-02-02 14:22:50

Python示例

2010-02-01 11:22:09

C++虛函數

2010-01-28 13:12:47

Android使用An

2019-07-19 10:44:34

移動應用APP

2014-05-27 14:16:08

AndroidActivitysingleTask

2010-03-02 14:41:00

WCF行為控制

2010-03-05 10:47:05

Python futu

2010-02-04 16:07:39

C++回調函數

2010-01-04 17:03:27

Silverlight

2015-10-20 15:54:16

android源碼滑動關閉

2012-02-17 17:07:30

Android安全Activity劫持
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: a精品视频 | 中文字幕免费 | 久久一| av 一区二区三区 | 欧美一级二级视频 | 国产亚洲精品精品国产亚洲综合 | 欧美成人黄色小说 | 国产成人网 | 久久精品国产亚洲 | 精品亚洲一区二区三区四区五区 | 国产资源网 | 精品真实国产乱文在线 | 在线观看黄视频 | 久久av网| 色欧美综合 | 亚洲精品成人网 | 在线看亚洲 | 国产午夜精品一区二区三区 | 欧美一区永久视频免费观看 | www.日韩系列 | 国产一级大片 | 亚洲精品99 | 九九热这里只有精品在线观看 | 国产99视频精品免费播放照片 | 国产精品美女www | 视频一区在线 | 欧美日韩精品久久久免费观看 | 一区二区av | 81精品国产乱码久久久久久 | 国产91久久久久蜜臀青青天草二 | 国产精品99久久久精品免费观看 | 亚洲成人自拍 | 亚洲天堂免费在线 | 国产精品久久久久久久岛一牛影视 | 亚洲综合首页 | 免费视频一区 | 国产精品久久久久久亚洲调教 | 99久久99 | 国产精品久久欧美久久一区 | 男女视频在线观看免费 | 国产精品毛片无码 |