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

发布于 2022-09-06 09:39:25 字数 1096 浏览 10 评论 0

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的高度就会变得过长或者过短,就像这样:
错误的绘制

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文