我在启动一个新活动后调用了片段活动的finish()。问题是,在完成旧活动时,调用方法时会显示布局及其完成动画。
我已经尝试先完成,但是因为我能够看到它,所以它很糟糕。
码:
if(getActivity() != null){
Glide.with(getActivity()).load(R.mipmap.ic_launcher).into(mIcon);
Animation myFadeInAnimation = AnimationUtils.loadAnimation(getActivity(), R.anim.anim_splash_icon_pulse_scale);
mIcon.startAnimation(myFadeInAnimation);
int mRandom = new Random().nextInt(mMemesArray.length);
mMemeText.setText(mMemesArray[mRandom]);
try{
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(getActivity(), ActivityMain.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getActivity().startActivity(intent);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
getActivity().finish();
}
},1000 * 2);
}
},1000 * 3);
} catch (Exception e){
e.printStackTrace();
}
}
我试图删除视图,取消动画ImageView。得到了同样的结果。
据我了解,这是由活动过渡重叠引起的。为了解决这个问题,我在两个活动的onCreate()方法中使用了以下值:
getWindow().setAllowEnterTransitionOverlap(false);
getWindow().setAllowReturnTransitionOverlap(false);