你好,我正在开发一个应用程序,并使用共享元素过渡来动画化登录和注册活动上的一个imageview和两个textviews的进入和退出过渡,但我的问题是视图根本没有动画效果。相反,当我单击注册按钮时,注册活动会闪烁两次,并且没有动画发生。而且,注册活动中的图像失去了其形状,所以我不知道出了什么问题,因为我在两个活动中都给出了相同的转换名称,但问题仍然存在,因此我希望能得到一些帮助。
以下是我的styles.xml
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowEnableSplitTouch">false</item>
<item name="android:splitMotionEvents">false</item>
<!-- Transition -->
<item name="android:windowContentTransitions" tools:targetApi="21">true</item>
<item name="android:windowEnterTransition" tools:targetApi="21">@android:transition/fade
</item>
<item name="android:windowExitTransition" tools:targetApi="21">@android:transition/fade
</item>
<item name="android:windowActivityTransitions">true</item>
<item name="android:windowSharedElementEnterTransition" tools:targetApi="21">
@android:transition/move
</item>
<item name="android:windowSharedElementExitTransition" tools:targetApi="21">
@android:transition/move
</item>
</style>
</resources>
我的登录活动。
public void gotoregister(View view) {
Intent intent = new Intent(LoginActivity.this,RegisterActivity.class);
Pair[] pairs = new Pair[3];
pairs[0] = new Pair<View,String>(text_login,getResources().getString(R.string.login_text_transition));
pairs[1] = new Pair<View,String>(login_page_curve,getResources().getString(R.string.transition_name_signup));
pairs[2] = new Pair<View,String>(register_text,getResources().getString(R.string.register_text_transition));
ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation
(LoginActivity.this,pairs);
startActivity(intent,optionsCompat.toBundle());
finish();
//overridePendingTransition(R.anim.bottom_up,R.anim.bottom_down);
}
<item name="android:windowDisablePreview">true</item>
,希望能对您有所帮助。 - Hardik Vasani