2015-01-17 32 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);