3

У меня есть 2 Activities. ActivityA является parent Activity из ActivityB:Пользовательский переход от ребенка к родительскому. Занятие

Мой Manifest файл:

<activity 
     android:name=".ActivityA" 
     android:launchMode="singleTop" /> 
    <activity 
     android:name=".ActivityB" 
     android:parentActivityName=".ActivityA"/> 

Я изменил переход от ActivityA к ActivityB:

final Intent intent = new Intent(this, ActivityB.class); 
    startActivity(intent); 
    overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); 

Это работает отлично. Но теперь я также хочу изменить переход при возврате с ActivityB в ActivityA. В моей ActivityB я переопределить метод finish() так:

@Override 
public void finish() { 
    super.finish(); 
    overridePendingTransition(R.anim.push_right_in, R.anim.push_right_out); 
} 

Проблема в том, что метод finish() вызывается только когда назад Button нажатии аппаратных средств, но не тогда, когда «вернуться назад стрелка» (верхний левый угол экран).

Я также хочу, чтобы таможня transition когда это Button нажат.

enter image description here

Любые идеи?

ответ

3

вы можете сделать это:

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
      case android.R.id.home: 
        finish(); 
        overridePendingTransition(R.anim.push_right_in, R.anim.push_right_out); 

     } 
     return super.onOptionsItemSelected(item); 
    } 
+0

удивительным это работает! отлично, большое спасибо :) – Ale

Смежные вопросы