Android 共享元素動畫簡單應用

Android 5.0 之後開始支持共享元素動畫,該動畫主要應用於兩個Activity之間,兩個Activity之間可以共享某些控件,Activity A跳轉到Activity B的時候,A的某個控件能自動移動到B的相應控件的位置,產生動畫。該動畫看起來很高大上,而且實現方法非常簡單,是我目前見過的實現起來最簡單的動畫了。

1、要在來個Activity的共享控件中,都需要加上這個共享屬性,並保持值一致
android:transitionName=“lgj”
2、跳轉到第二個Activity的時候,用下面的方式跳轉

ActivityOptionsCompat activityOptionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation(this,imageView,"lgj");
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent,activityOptionsCompat.toBundle());

   public static ActivityOptionsCompat makeSceneTransitionAnimation(Activity activity,
            View sharedElement, String sharedElementName) {}

參數解釋:activity就是發起跳轉的Activity,shareElement就是共享的控件view,sharedElementName就是第一步定義的字符串。這個方式只支持共享單個控件。

 public static ActivityOptionsCompat makeSceneTransitionAnimation(Activity activity,
            Pair<View, String>... sharedElements) {

參數解釋:activity就是發起跳轉的Activity,sharedElements是一個類型爲Paire<View,String>可變長數組,每一個pair存放的就是一個共享控件的view和對應的字符串,可見該方法是可以支持多個共享控件的。

補充:一般共享控件都是相同的控件,比如ImageView,但是如果是不同的控件共享也是可以的,比如ImageView和一個TextView共享了,經過本人測試時OK的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章