启动活动并在旧活动上调用finish()后,片段的布局会闪烁

时间:2017-12-17 12:26:21

标签: android android-fragments

我在启动新活动后对片段的活动调用了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。得到了相同的结果。

1 个答案:

答案 0 :(得分:0)

据我了解,这是由活动转换重叠引起的。为了解决这个问题,我在两个活动的onCreate()方法中使用了以下值:

getWindow().setAllowEnterTransitionOverlap(false);
getWindow().setAllowReturnTransitionOverlap(false);