某些背景:我在一个活动的底部有一个ConstraintLayout
,随着向其中的RecyclerView
中添加或删除项目,该活动会不断增长和收缩。 RecyclerView
被限制在其父级的左上方。我在同一父项中有另一个View
,受其限制在右下角。此右下角的View
应该始终位于同一位置;在其父容器垂直增长或收缩时,它永远都不应看起来像是在移动。
我将容器设置为使用以下内容制作动画:
LayoutTransition transition = new LayoutTransition();
transition.enableTransitionType(LayoutTransition.CHANGING);
cartContainer.setLayoutTransition(transition);
现在,当RecyclerView
增大或缩小时,父级布局会相应地设置较大或较小的动画,并且RecyclerView
随之移动。问题是在发生这种动画时,底部锚定的 View
不会不停留在其位置上。相反,当父级处于动画过程中时,它会跳到“新”位置。我认为这是因为子View
的位置是由其与父ConstraintLayout
的 top 的关系定义的,并且这个新位置会在动画开始。我需要的是,即使孩子相对于父母的位置在技术上发生了变化,也要使孩子看起来好像一直都在右下角。关于如何实现这一目标有什么想法吗?