2017-12-18 295 views
2

請幫助我進行場景過渡動畫設置。如何更改場景過渡動畫中的TextView大小?

這是我的想法: enter image description here

當我點擊TextView(FirstActivity)我想與視圖大小變化和移動分享這個TextView到SecondActivity。

當我打開(或關閉)SecondActivity我的TextView移動(箭頭#1或#2)但沒有大小改變。這看起來很難看。

這是我的代碼:

主題(我用這個主題兩個FirstActivity和SecondActivity):

<style name="AppTheme.MaterialAnimation.SharedViews"> 
    <item name="android:windowContentTransitions">true</item> 

    <item name="android:windowSharedElementEnterTransition">@transition/enter_shared_ui</item> 
    <item name="android:windowSharedElementExitTransition">@transition/exit_shared_ui</item> 
</style> 

enter_shared_ui的.xml:

<?xml version="1.0" encoding="utf-8"?> 
    <transitionSet xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="4000" 
     android:interpolator="@android:interpolator/decelerate_cubic"> 

     <changeBounds /> 
    </transitionSet> 

exit_sh ared_ui .XML

<?xml version="1.0" encoding="utf-8"?> 
    <transitionSet xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="4000" 
     android:interpolator="@android:interpolator/decelerate_cubic"> 

     <changeBounds /> 
    </transitionSet> 

如何改變TextView的大小改變我的場景過渡動畫?

UPDATE:

此代碼爲啓動SecondActivity:

private fun openSecondScreen() { 
    val intent = Intent(this, SharedUIFinishActivity::class.java) 
    ... // add another views to Pair 
    val thirdPair = Pair(tvSharedUISelect as View, getString(R.string.shared_ui_text)) 
    val options = ActivityOptions.makeSceneTransitionAnimation(this, 
        ... thirdPair) 

    startActivity(intent, options.toBundle()) 
} 

併爲我用的是相同的過渡名字都TextView的。

回答

1

要使SharedElementTransition正常工作,必須將相同的轉換名稱設置爲Activity1和Activity2中的TextView。

請確保名稱相同,以便框架可以知道轉換髮生的過程。

<TextView 
    ... 
    android:transitionName="my_transition"/> 

在活動1啓動活性2

startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(getActivity(), textView, textView.getTransitionName()).toBundle()); 
+0

謝謝,我編輯我的職務和發起SecondActivity添加代碼 - 但我已經這樣做了。 – Artem

+0

好吧,那麼也許這是你在找什麼。 https://medium.com/bcgdv-engineering/changing-text-size-and-color-in-shared-element-activity-transition-a31d932b7600 –