TransitionManager.beginDelayedTransition闪烁

时间:2018-08-02 15:01:39

标签: android android-transitions

我正在尝试为我的应用程序中的相机视图提供全屏按钮。不幸的是,在过渡期间,该应用在实际动画之前显示了新计算的参数。我的意思是,相机视图的新尺寸会出现一段时间(闪烁),然后屏幕变黑,最后,展开动画完成。这是我的方法:

        fullScreenBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(isFullScreen){
                TransitionManager.beginDelayedTransition(transitionsContainer);
                fragmentContener.setVisibility(View.VISIBLE);
                hudView.setVisibility(View.VISIBLE);
                mCameraContent.setLayoutParams(params);
                isFullScreen = false;
            } else {
                TransitionManager.beginDelayedTransition(transitionsContainer);
                fragmentContener.setVisibility(View.GONE);
                hudView.setVisibility(View.GONE);
                mCameraContent.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
                isFullScreen = true;
            }
        }

fullScreenBtn在角落的摄像机预览中处于mCameraContent布局中。 transitionContainer是整个活动的布局。我认为值得注意的是,我的活动布局分为两个相等的视图:baseContenerfragmentContenerhudView位于baseContener下面的mCameraContent内部。它们正在逐渐消失,唯一的问题是相机预览。我试图将Slide()ChangeBounds()添加到beginDelayedTransition方法中,但这不能解决问题。我该怎么做才能避免该视图闪烁?

0 个答案:

没有答案