У меня есть тестовое приложение с простым LinearLayout с двумя строками. Когда я удаляю нижний ряд, мне бы хотелось, чтобы край между двумя рядами плавно скользил вниз, эффективно скрывая нижний ряд и расширяя верхний ряд.
У меня есть код, который почти решает проблему, но не совсем. Когда я «Ушел» нижний ряд, нижний ряд выдвигается из поля зрения. Тем не менее, верхний ряд также должен быть анимированным. Я включаю CHANGE_APPEARING и CHANGE_DISAPPEARING, чтобы сделать это, и я вижу, что их вызывают, потому что я настроил прослушиватель на запись в журнал при обработке каждого типа.
Однако , когда я вызываю setAnimator () для этих двух типов переходов (как показано ниже), они внезапно замолкают - даже слушатель больше не сообщает, что они вызваны.
...
//setAnimation(lt, mTopFrame, CHANGE_APPEARING, 0, BOTTOM_FRAME_HEIGHT);
//setAnimation(lt, mTopFrame, CHANGE_DISAPPEARING, BOTTOM_FRAME_HEIGHT, 0);
...
private void setAnimation(LayoutTransition lt, FrameLayout fl, final int transitionType, int start, int end) {
ObjectAnimator oa = ObjectAnimator.ofFloat(fl, "translationY", start, end);
lt.setAnimator(transitionType, oa);
}
Как мне запустить эти анимации?