[英]custom activity transition animation in Android
我的应用程序的当前流程是活动A - >活动B - >片段BI尝试实现活动过渡动画。 我已经阅读了许多关于使用overridependingtransition()的帖子,我已经实现了这些帖子中提到的几乎所有内容。 不知何故,动画无效。
我需要这个在Android 2.2上工作,即sdkversion 8
这是代码:
Activity A
oncreate method
Intent detailIntent = new Intent(this, WordDetailActivity.class);
detailIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
detailIntent.putExtra(DbAdapter.KEY_ROWID, id);
startActivity(detailIntent);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
@Override
protected void onPause() {
super.onPause();
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
Activity B
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
如果有人也可以建议我使用任何替代方法来实现Android 2.2的活动转换,那将是很棒的
在手机设置中禁用其动画的手机不会显示活动过渡动画...所以不要指望它。
此外,您无法更改这些用户设置。
而不是onPause()
在onResume()
做
@Override
public void onResume() {
super.onResume();
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
并尝试使用`minSdk =“5”
编辑
试试这样吧
Activity_A.this.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
Activity_B.this.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
编辑2
@Override
public void overridePendingTransition(int enterAnim, int exitAnim) {
super.overridePendingTransition(enterAnim, exitAnim);
Log.d(LOG_TAG, "In overridePendingTransition");
}
检查这个日志是否被命中,因为我们不知道这个方法被调用的天气?(把它放在A和B里面)
另请删除detailIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
falg,如果它命中,则替换super.overridePendingTransition(enterAnim, exitAnim);
with super.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
除startActivity之外,无需在其他任何地方写入。 写这样的。
Intent detailIntent = new Intent(this, WordDetailActivity.class);
detailIntent.putExtra(DbAdapter.KEY_ROWID, id);
startActivity(detailIntent);
this.overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out)
//annination indside fragment to translate fragment
getFragmentManager()
.beginTransaction()
.setCustomAnimations(R.animator.slide_in_right,
R.animator.slide_in_left_out,
R.animator.slide_in_left,
R.animator.slide_in_right_out)
.replace(R.id.linearlayout, new mFragment())
.addToBackStack("fragments")
.commit();
// add inside activity to translate activity
Intent intent = new Intent(mContext, AbcActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_right_in,
R.anim.slide_left_out);
// put this inside OnBackPressed
overridePendingTransition(R.anim.slide_left_in, R.anim.slide_right_out);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.