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

Создать Рез файл/аним/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> 

Создать Рез файл/аним/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); 
Смежные вопросы