У меня есть 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));
Теперь Код выше не выглядит solid для меня. Я хотел бы найти лучший способ, но пока он работает.
После добавления нового представления я изменяю ограничения контейнера фрагмента с верхней части навигации на верхнюю часть нового представления. Размер контейнера фрагмента установлен равным 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.
Есть ли лучший или лучший способ анимировать виды и макеты в android или есть библиотека, которая может это сделать?