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

问题描述 投票:1回答:1

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

android android-fragments
1个回答
0
投票

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

getWindow().setAllowEnterTransitionOverlap(false);
getWindow().setAllowReturnTransitionOverlap(false);
© www.soinside.com 2019 - 2024. All rights reserved.