2015-10-30 3 views
4

Я добавил следующий код в свою деятельность и получил желаемую анимацию, но нажатие кнопки «Назад» анимация не является тем же. I. Активность просто закрывается нормально. Как добавить анимацию при нажатии кнопки «Назад»анимация при нажатии кнопки возврата

public void notesAndCodeClick(View v){ 

    Intent notesIntent = new Intent(MainActivity.this, NotesActivity.class); 
    ActivityOptions notesoptions = ActivityOptions.makeScaleUpAnimation(v, 0, 0, v.getWidth(), v.getHeight()); 
    startActivity(notesIntent, notesoptions.toBundle()); 
} 
+0

overridePendingTransition (анимация из папки ресурсов ресурса) –

ответ

1

Вы можете установить анимацию IN и OUT для Activity, нажав кнопку «Назад».

Слева направо анимации:

Поместите этот файл в Рез/Anim/left_to_right.xml: -

<set xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shareInterpolator="false"> 
     <translate android:fromXDelta="-100%" android:toXDelta="0%" 
       android:fromYDelta="0%" android:toYDelta="0%" 
       android:duration="700"/> 
    </set> 

справа налево анимации:

Put это файл в res/anim/right_to_left.xml: -

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false"> 
    <translate 
    android:fromXDelta="0%" android:toXDelta="100%" 
    android:fromYDelta="0%" android:toYDelta="0%" 
    android:duration="700" /> 
</set> 

Сейчас в onBackPressed(): -

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    overridePendingTransition(R.anim.right_to_left, R.anim.left_to_right); 
} 
0

Вы должны просто сделать одну вещь, вызовите анимации после окончания вашей деятельности как это.

finish(); 
overridePendingTransition(R.anim.nothing,R.anim.nothing); 

Днем Coding ....

0

Чтобы добавить анимацию при нажатии кнопки назад, вы можете использовать метод onBackPressed() класса Activity.

Пример

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    // add your animation 
} 

Android документация

общественных недействительный onBackPressed(): Вызывается, когда активность обнаружена пресса пользователя из заднего ключа. Реализация по умолчанию просто завершает текущую активность, но вы можете переопределить ее, чтобы делать все, что хотите.

2

Попробуйте это,

@Override 
    public void onBackPressed() { 
     // TODO Auto-generated method stub 
     super.onBackPressed(); 
     MainActivity.this.overridePendingTransition(R.anim.trans_right_in, 
       R.anim.trans_right_out); 
    } 

Добавить как файлы, перечисленные ниже, в папку Anim

Рез -> ANIM

trans_right_in.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" > 

    <translate 
     android:duration="@android:integer/config_shortAnimTime" 
     android:fromXDelta="-100%p" 
     android:interpolator="@android:anim/accelerate_decelerate_interpolator" 
     android:toXDelta="0" /> 

</set> 

trans_right_out.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" > 

    <translate 
     android:duration="@android:integer/config_shortAnimTime" 
     android:fromXDelta="0" 
     android:interpolator="@android:anim/accelerate_decelerate_interpolator" 
     android:toXDelta="100%p" /> 

</set>