我有一个ConstraintLayout,底部有一个导航,另一个片段容器占据了屏幕的其余部分。我想要的是以编程的方式在导航和带有动画的片段容器之间添加/删除一个视图。
我有以下代码来添加和动画新视图:
//Adding the view to the main layout
ConstraintLayout layout = findViewById(R.id.ConstraintLayout);
getLayoutInflater().inflate(R.layout.newView, layout);
//Start animation immediately with a librar
锚定在两个轴上屏幕中心的视图被动画(转换)到一个新的位置,具有新的大小。动画完成后,完成块将在另一个视图上调用动画,该视图的主导锚与第一个动画视图的尾随锚有一定距离。我的问题是,我不知道如何使第二视图的动画考虑到刚刚完成的新的视图框架。第二个视图需要以右结束,集中在Y到第一个视图。
我尝试过的每一件事都有相同的结果:第二个视图考虑到了第一个视图的位置,然后将其动画化为它的新位置和大小。我如何更新它的约束?我尝试过使用NSLayoutConstraint变量,更新约束,但是没有任何效果。相关代码列出,谢谢。
func setupViews() { // called in viewDidLoad