Android 動畫進階之動畫切換

來源:互聯網
上載者:User

標籤:set   override   通過   com   log   pivot   ati   螢幕   int   

一、Activity切換動畫

  在Android開發中,經常會遇到Activity之間轉場效果,下面介紹一下,Activity左右滑動轉場效果。在Android2.0以後版本,在Activity中添加了

1 /**2  * @method3  * @param -- int enterAnim : Activity在進入螢幕時的動畫4  * @param -- int exitAnim : Activity在退出螢幕時的動畫5  */6 public void overridePendingTransition(int enterAnim, int exitAnim);

  PS:overridePendingTransition(...)方法必須在startActivity(...)或者finish()方法之後調用。

  在Android中,內建了一些動畫效果,可以通過Android.R.anim類使用。一般情況下,都使用自己定義Activity切換的動畫效果,下面先瞭解一下,Activity的位置定義,如所示:

                         (此圖來自於其它本博文)

  如所示,以手機的下邊為X軸,手機的左邊為Y軸。當X = -100%p時,Activity位置在螢幕左側位置(如位置1圖);當X = 0%p時,Activity位置在螢幕中(如位置2圖);當X = 100%p時,Activity位置在螢幕的右側位置(如位置3圖)。而Y軸的Activity位置同理。

  下面代碼是兩個Activity左右滑動轉場效果:

  1. 左出右入滑動效果:

1 startActivityForResult(intent, 11);2 // 左出右進滑動效果3 overridePendingTransition(R.anim.slide_right_in, R.anim.slide_left_out);

  slide_right_in.xml: 

1 <?xml version="1.0" encoding="utf-8"?>2 <set3   xmlns:android="http://schemas.android.com/apk/res/android">4     <translate5         android:duration="800"6         android:fromXDelta="100.0%p"7         android:toXDelta="0.0" />8 </set>

  slide_left_out.xml: 

1 <?xml version="1.0" encoding="utf-8"?>2 <set3   xmlns:android="http://schemas.android.com/apk/res/android">4     <translate5         android:duration="800"6         android:fromXDelta="0.0"7         android:toXDelta="-100.0%p" />8 </set>

  2. 左進右出滑動效果:

1 finish();2 // 左進右出滑動效果3 overridePendingTransition(R.anim.slide_left_in, R.anim.slide_right_out);

  slide_left_in.xml: 

1 <?xml version="1.0" encoding="utf-8"?>2 <set3   xmlns:android="http://schemas.android.com/apk/res/android">4     <translate5         android:duration="800"6         android:fromXDelta="-100.0%p"7         android:toXDelta="0.0" />8 </set>

  slide_right_out.xml: 

1 <?xml version="1.0" encoding="utf-8"?>2 <set3   xmlns:android="http://schemas.android.com/apk/res/android">4     <translate5         android:duration="800"6         android:fromXDelta="0.0"7         android:toXDelta="100.0%p" />8 </set>

  

二、動畫XML標籤

1. Android animation由四種類型動畫組成的,分別為:

  • alpha:漸層透明度動畫效果;
  • scale:漸層尺寸縮放動畫效果;
  • translate:畫面轉換位置移動動畫效果;
  • rotate:畫面轉移旋轉動畫效果;

2.標籤屬性:

  • alpha
    • android:fromAlpha:開始時透明度;
    • android:toAlpha:結束時透明度;
    • androdi:duration:動畫期間;
  • scale
  • translate
    • android:duration:動畫期間;
    • android:fromXDelta:元素從某個位置開始動作;
    • android:toXDelta:元素到某個位置停止;
  • rotate
    • fromDegrees:動畫開始時角度;
    • toDegrees:動畫結束時角度;
    • pivotX:動畫相對於元素的X軸座標的開始位置;
    • pivotY:動畫相對於元素的Y軸座標的開始位置;

 

Android 動畫進階之動畫切換

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.