Допустим, у нас есть BottomNavigationBar с FAB сверху. При использовании этой настройки и отображении Snackbar, Snackbar должен появляться над BottomNavigationBar и нажимать вверх / вниз FAB при отображении / отклонении.
Это распространенный сценарий использования CoordinatorLayout. Возможно ли также создать эту анимацию, используя новый MotionLayout?
В трекере ошибок есть проблема, но она уже закрыта, потому что ОП не сформулировал вопрос четко (https://issuetracker.google.com/issues/112665540)
Проблемы, с которыми я столкнулся при попытке: У нас нет доступа к идентификатору макета Снэк-бара. У нас также нет доступа к общему xml панели Snackbar, поэтому мы не можем установить ее ограничения.
ОБНОВЛЕНИЕ: Я понимаю, что фрагмент кода поможет в качестве отправной точки для ответа на этот вопрос. Но то, что я когда-либо придумал, не было никакой пользы. Теперь я определил 2 основные проблемы:
Я не знаю идентификационный номер Snackbar. Поэтому я не могу использовать его при написании описания сцены.
Даже если бы я мог создать описание сцены (например, State1: SnackBar visible, State2: Snackbar not visible). Я должен был бы вызвать эти переходы сцены вручную. Это означает, что я воссоздаю свою собственную Snackbar вместо того, чтобы использовать оригинальную Snackbar, как это задумано.
КОММЕНТАРИИ: @mikejonesguy Да, на мой взгляд, они похожи. Не то же самое, но похоже. И у MotionLayout также есть задание, которое вы описали: координировать взаимодействия между его подвидами. Замените «координата» на «одушевленный», и вы увидите мою точку зрения. Также взгляните на обработчики OnSwipe / OnClick. MotionLayout все еще очень свеж, но я думаю, что он заменит CoordinatorLayout в будущем так же, как ConstraintLayout заменил RelativeLayout. Может быть, я ошибаюсь, а может и нет ... время покажет.
ВЫВОД:
Что касается меня, то, похоже, нет способа (пока) добиться того, чего я хочу, только с помощью MotionLayout. Если это возможно, я обновлю этот вопрос рабочим примером. Извините за невозможную награду ...:)