我的应用的当前流量是活动A - >活动B - >片段B 我正在尝试实现Activity转换动画。我已经阅读了许多关于使用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的活动转换,那将会很棒。
答案 0 :(得分:6)
在手机设置中禁用其动画的手机不会显示活动过渡动画...所以不要指望它。
此外,您无法更改这些用户设置。
答案 1 :(得分:1)
而不是在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);
替换为super.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
答案 2 :(得分:1)
除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)
答案 3 :(得分:0)
//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);