2017-12-18 298 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 –