android 中活动之间的过渡效果
Transition effects between activities in android
在一个button click
上,我想去一个不是我写的activity
(such as ACTION_DIAL)
,同时我想控制它的transition effects
.
我可以用overridePendingTransition
在打开activity时控制transition effect
,但是当我回到transition effect
时我无法控制transition effect
按 backbutton
相同的页面。
我希望在 activity 的开始和结束期间发生相同的效果 (android.R.anim.fade_in, android.R.anim.fade_out)
,目前还没有发生。它只在开始时有效。
我正在添加下面的代码片段。请看看并帮助我。 :)
case R.id.button1:intent = new Intent(Intent.ACTION_DIAL);
startActivity(intent);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
break;
case R.id.button2:intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_APP_MESSAGING);
//intent.setType("vnd.android-dir/mms-sms");
startActivity(intent);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
break;
在你的 activity
中这样尝试
@Override
public void finish() {
super.finish();
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
@Override
public void onBackPressed() {
finish();
}
或
就是这个
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
感谢 SaravInfern 的帮助。但是您的解决方案对我没有帮助,因为我正在使用 onBackPressed() 函数进行其他操作。
但是我自己找到了解决方案,多亏了https://developer.android.com/training/basics/activity-lifecycle/stopping.html
我在 onResume 和 onPause 函数中添加了 'overridePendingTransition(R.anim.fade_in, R.anim.fade_out)' 行,如下所示,它解决了我的问题。
@Override
public void onResume() {
super.onResume();
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
@Override
public void onPause() {
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
super.onPause();
}
在一个button click
上,我想去一个不是我写的activity
(such as ACTION_DIAL)
,同时我想控制它的transition effects
.
我可以用overridePendingTransition
在打开activity时控制transition effect
,但是当我回到transition effect
时我无法控制transition effect
按 backbutton
相同的页面。
我希望在 activity 的开始和结束期间发生相同的效果 (android.R.anim.fade_in, android.R.anim.fade_out)
,目前还没有发生。它只在开始时有效。
我正在添加下面的代码片段。请看看并帮助我。 :)
case R.id.button1:intent = new Intent(Intent.ACTION_DIAL);
startActivity(intent);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
break;
case R.id.button2:intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_APP_MESSAGING);
//intent.setType("vnd.android-dir/mms-sms");
startActivity(intent);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
break;
在你的 activity
中这样尝试@Override
public void finish() {
super.finish();
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
@Override
public void onBackPressed() {
finish();
}
或 就是这个
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
感谢 SaravInfern 的帮助。但是您的解决方案对我没有帮助,因为我正在使用 onBackPressed() 函数进行其他操作。
但是我自己找到了解决方案,多亏了https://developer.android.com/training/basics/activity-lifecycle/stopping.html
我在 onResume 和 onPause 函数中添加了 'overridePendingTransition(R.anim.fade_in, R.anim.fade_out)' 行,如下所示,它解决了我的问题。
@Override
public void onResume() {
super.onResume();
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
@Override
public void onPause() {
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
super.onPause();
}