如何更改场景过渡动画中的TextView大小?

请帮助我进行场景过渡动画设置。如何更改场景过渡动画中的TextView大小?

这是我的想法:

当我点击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的。

回答:

要使SharedElementTransition正常工作,必须将相同的转换名称设置为Activity1和Activity2中的TextView。

请确保名称相同,以便框架可以知道转换发生的过程。

<TextView 

...

android:transitionName="my_transition"/>

在活动1启动活性2

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

以上是 如何更改场景过渡动画中的TextView大小? 的全部内容, 来源链接: utcz.com/qa/261436.html

回到顶部