Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> ym—— Android 5.0學習之Activity過渡動畫

ym—— Android 5.0學習之Activity過渡動畫

編輯:關於Android編程

前言

\

Activity Transition:

提供了三種Transition類型:

進入:一個進入的過渡(動畫)決定activity中的所有的視圖怎麼進入屏幕。
退出:一個退出的過渡(動畫)決定一個activity中的所有視圖怎麼退出屏幕。

共享元素:一個共享元素過渡(動畫)決定兩個activities之間的過渡,怎麼共享(它們)的視圖。


支持這些進入和退出的過渡動畫:
explode(分解) –進或出地移動視圖,從屏幕中間
slide(滑動) -進或出地移動視圖,從屏幕邊緣
fade(淡出) –通過改變屏幕上視圖的不透明度達到添加或者移除視圖(的效果)


在以上動畫基礎上還可以添加還支持共享元素過渡:(以上效果的共享元素效果基於分解動畫基礎上進行)

它的作用就是共享兩個acitivity種共同的元素,在Android 5.0下支持如下效果:

changeBounds - 改變目標視圖的布局邊界

changeClipBounds - 裁剪目標視圖邊界

changeTransform - 改變目標視圖的縮放比例和旋轉角度

changeImageTransform - 改變目標圖片的大小和縮放比例


\

使用步驟:

1.設置動畫(兩種方式):

1.1xml設置

當你定義繼承了material主題樣式時,使用android:windowContentTransitions屬性啟用窗口的內容轉換(效果)。你還可以指定進入、退出、和共享元素的轉換:

定義transition動畫:

    
    
    
    
    

1.2代碼設置

// 允許使用transitions
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);

// 設置一個exit transition
getWindow().setExitTransition(new Explode());//new Slide()  new Fade()
Window.setEnterTransition():設置進入動畫

Window.setExitTransition():設置退出效果

Window.setSharedElementEnterTransition():設置共享元素的進入動畫

Window.setSharedElementExitTransition():設置共享元素的退出動畫


2.Activity跳轉方法:

進入退出動畫跳轉:

startActivity(intent,
              ActivityOptions.makeSceneTransitionAnimation(this).toBundle());

共享元素跳轉:

為了使有一個共享元素的兩個activities間使用過渡動畫:

1.在你的主題中啟用窗口內容過渡

2.在你的主題樣式中指定共享元素的過渡

3.定義你的過渡動畫為XML資源

4.使用android:transitionName屬性給兩個布局中的共享元素指定一個相同的名字(名字一定不要寫錯)

5.使用ActivityOptions.makeSceneTransitionAnimation() 方法

代碼:

// 共享跳轉
intent = new Intent(Transitions.this, Transitions4.class);
                startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(this,view,"shareName").toBundle());
跳轉目標xml:




    
    
如果有多個共享元素:

ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this,
        Pair.create(view1, "agreedName1"),
        Pair.create(view2, "agreedName2"));
去試試吧~!

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