我有 2 个 Activity
。 ActivityA
是 ActivityB
的父 Activity
:
我的 list
文件:
<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
时被调用,而不是在“返回箭头”(左上角)屏幕)被按下。
我还想要在按下 Button
时自定义 transition
。
有什么想法吗?
最佳答案
你可以这样做:
@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);
}
关于Android 自定义从子 Activity 到父 Activity 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37591619/