2015-01-17 28 views
2

我希望我的启动器活动在打开或返回到前一活动时从右向左滑动。当它切换到另一个活动时,它当前从右向左滑动,但当它被打开或后退按钮被按下时,它不会滑动。Android 5.0 windowEnterTransition不影响转换

下面是被应用到我的发射活动的风格相关的XML:

styles.xml一个按钮被点击时

<item name="android:windowContentTransitions">true</item> 
    <item name="android:windowEnterTransition">@android:transition/slide_left</item> 
    <item name="android:windowExitTransition">@android:transition/slide_left</item> 
    <item name="android:windowReenterTransition">@android:transition/slide_right</item> 
    <item name="android:windowReturnTransition">@android:transition/slide_left</item> 

我的活动转移到下一个活动。这是我的onClickListener:

Button register = (Button)findViewById(R.id.registerBtn); 
     register.setOnClickListener(new Button.OnClickListener(){ 
      public void onClick(View v) { 
       Intent i = new Intent(LoginActivity.this, RegisterActivity.class); 
       startActivity(i, ActivityOptions.makeSceneTransitionAnimation(LoginActivity.this).toBundle()); 
      } 
     }); 

相信ActivityOptions.makeSceneTransitionAnimation方法可能有一些做为什么退出过渡工作,但我如何应用此为进入过渡?

+0

你找出问题?我还有一个问题,在主要活动启动时为FAB设置动画 – Andrea

+0

@Andrea不,对不起。大约一年前我放弃了这个项目,所以我没有机会解决这个问题。 –

回答

-2

你可以用它来启动一个新的活动与过渡

startActivity(new Intent(this, NewActivity.class)); 
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); 

创建文件RES /动画/ slide_in_right.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false" > 
    <translate android:duration="1000" android:fromXDelta="100%" android:toXDelta="0%" /> 
    <alpha android:duration="1000" android:fromAlpha="0.0" android:toAlpha="1.0" /> 
</set> 

创建文件RES /动画/ slide_out_left.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shareInterpolator="false" > 
     <translate android:duration="2000" android:fromXDelta="0%" android:toXDelta="-100%"/> 
     <alpha android:duration="2000" android:fromAlpha="1.0" android:toAlpha="0.0" /> 
</set> 

您可以根据需要使用此方法使您的活动相应地滑动。

1

如果你的活动是AppCompatActivity,试试这个:

Intent intent = new Intent(LoginActivity.this, RegisterActivity.class); 
Bundle bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(LoginActivity.this).toBundle(); 
ActivityCompat.startActivity(RegisterActivity.this, intent, bundle);