我想实现上滑和放大当活动被推入/关闭堆栈时向下动画。这是我的代码:
public class LoginActivity extends ActionBarActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
overridePendingTransition(R.anim.slide_up, R.anim.nothing);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
Button loginBtn = (Button)findViewById(R.id.login);
loginBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
@Override
public void onBackPressed() {
finish();
}
@Override
public void finish() {
overridePendingTransition(R.anim.nothing, R.anim.slide_down);
super.finish();
}
}
活动是通过“startActivityForResult()”方法启动的。此活动的主题是“Theme.AppCompat.Light.NoActionBar”。
问题在于:
启动活动的动画有效
当按下“后退”按钮时,下拉动画也可以工作
然而,当我直接在活动中调用“finish()”来关闭它时,动画不起作用。
有什么问题?如何解决?
答案 0 :(得分:0)
您可以覆盖刚刚在finish();
之后调用的待处理转换finish();
LoginActivity.this.overridePendingTransition(R.anim.nothing,R.anim.nothing);
答案 1 :(得分:0)
使用finishAfterTransition()
代替finish()
为我解决了这个问题。我认为这比覆盖过渡更为干净。