我有一个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 library
YoYo.with(Techniques.SlideInUp).duration(800).playOn(findViewById(R.id.newView));
现在,上面的代码对我而言并不可靠。我想找到一种更好的方法,但是目前它可以工作。
添加新视图后,我将片段容器的约束从导航的顶部更改为新视图的顶部。片段容器的大小设置为match_constrainst,因此通过更改约束,它现在会小一些。
ConstraintSet constraintSet = new ConstraintSet();
constraintSet.clone(layout);
constraintSet.connect(R.id.fragment_container,ConstraintSet.BOTTOM,R.id.newViewWrapper,ConstraintSet.TOP,0);
constraintSet.applyTo(layout);
我没有设法做的动画是改变片段容器的大小。总的来说,我从来没有在android中使用动画。
<<我有一个ConstraintLayout,其底部有一个导航,而一个片段容器占据了屏幕的其余部分。我想要的是以编程方式在导航和...之间添加/删除视图。...
TransitionManager.beginDelayedTransition(layout);