0
부모가 ActionBarActivity "A"(매니페스트에도 정의 됨) 인 ActionBarActivity "B"가 있습니다. A는 "singleTask"실행 모드입니다. A로부터 B를 시작할 때 다음 I는 애니메이션을 가지고홈 버튼을 눌렀을 때 맞춤 애니메이션으로 활동을 완료하는 방법
public void onItemClick(...) {
Intent mIntent = new Intent(getActivity(), B.class);
startActivity(mIntent);
getActivity().overridePendingTransition(R.anim.B_in, R.anim.A_out);
}
B에서 I는 다음 onOptionsItemSelected 있고 onBackPressed : 여기
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == android.R.id.home) {
getSupportFragmentManager().popBackStackImmediate();
//onBackPressed();
//finish();
}
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.A_in, R.anim.B_out);
}
문제이다 I 버튼을 다시 누르면, 애니메이션 onBackPressed가 예상대로 진행 중입니다. 그러나 액션 바의 왼쪽 상단에있는 아이콘을 클릭하면 popBackStackImmediate가 호출되고 Android의 기본 애니메이션이 다른 방식으로 재생됩니다. 따라서 :
- 어떻게하면 onBackPressed에서와 같은 애니메이션을 얻을 수 있습니까?
- popBackStackImmediate() 대신 onBackPressed()를 사용해야합니까? popBackStackImmediate와 동일한 결과를 줄 것입니까?
어떤 제안 및 모범 사례
지금까지 코드에서 finish()를 호출하는 것을 주저했지만이 경우 finish() + overridePendingTransition()을 사용합니다. 감사. – Mehmed