Новые переходы экрана Android 4.0 между действиями - PullRequest
2 голосов
/ 28 декабря 2011

Я занимаюсь разработкой приложения для Android уже несколько месяцев и начал тестирование на Android 4.0.Я только что заметил, что они изменили переход по умолчанию между экранами - это не то, что старые переходят с нового на переход, а вместо этого какое-то всплывающее окно нового фона, как в iPhone.это настраивается?Если так, то где это в API, я не могу найти его.

1 Ответ

5 голосов
/ 24 апреля 2013

Используйте это для управления переходом экрана в Android: overridePendingTransition

  • Вы должны немедленно вызвать это после startActivity(intent);
  • Переопределения onBackPressed(), startActivity() иfinish() для любых действий, которыми вы хотите управлять.
  • Работает в версии для Android> 2.1.

Анимация слайда в / из:

Создать следующий xml файл в res / anim:

slide_in_left.xml:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="100%p" android:toXDelta="0"
    android:duration="@android:integer/config_shortAnimTime"/>

slide_in_right.xml:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="-100%p" android:toXDelta="0"
    android:duration="@android:integer/config_shortAnimTime"/>

slide_out_left.xml:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0" android:toXDelta="-100%p"
    android:duration="@android:integer/config_shortAnimTime" />

slide_out_right.xml:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0" android:toXDelta="100%p"
    android:duration="@android:integer/config_shortAnimTime" />

Фрагмент кода для слайда из A-> B:

public class A extends Activity {

@Override
public void onBackPressed() {
    super.onBackPressed();
    overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right);   
}

@Override
public void startActivity(Intent intent) {
    super.startActivity(intent);
    overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right);   
}

@Override
public void finish() {
    super.finish();
    overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right);   

}


} 

public class B extends Activity {

@Override
public void onBackPressed() {
    super.onBackPressed();
    overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left); 
}

@Override
public void startActivity(Intent intent) {
    super.startActivity(intent);
    overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left); 
}

@Override
public void finish() {
    super.finish();
    overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left); 

}


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...