Android过渡动画在滑动布局中进行会出现绘制错误,如何解决?

新手上路,请多包涵

Android过渡动画在RecyclerView,ListView,ScrollView等可以滑动的布局中进行伸缩/变大/变小等改变形状的动画时,如果此时滑动布局,绘制会因为滑动而产生错误。代码如下:

            TransitionManager.beginDelayedTransition(rcv,cb);
            pams=(RecyclerView.LayoutParams)view.itemView.getLayoutParams();
            if(pams.height==h)
            {
                pams.height=h+300;
            }
            else
            {
                pams.height=h;
            }
            view.itemView.setLayoutParams(pams);

rcv是recyclerview,cb是动画过程,这个的作用是点一下recyclerview里的item,item高度会变高,再点一下会恢复,用Transition动画过渡。如果仅仅是点击的话,这个过渡一切正常。
滑动布局

点击item之后

但是如果点击之后,在item高度变高的过渡动画进行时,进行布局的滑动,item的高度就会变得过长或者过短,就像这样:
错误的绘制

例如,在点击时将布局向下滑动,就会出现如上的问题,请问该如何解决呢?

阅读 1.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题