Добавление общей кнопки с плавающим действием к двум существующим действиям

Я работаю над приложением, которое уже находится в производстве, оно имеет несколько видов деятельности. Теперь дизайнеры хотят добавить кнопку с плавающим действием, которая привязана к нижнему правому углу двух наших действий (возможно, больше в будущем). FAB должен оставаться на том же месте, когда эти два действия переходят друг от друга.

Я знаю, что могу использовать переход с общим элементом для достижения этой цели, но проблема в том, что мы используем overridePendingTransition() для добавления скользящей анимации при переходе между двумя действиями, и эта скользящая анимация прерывается, когда я использую переход с общим элементом, поскольку он переопределяется анимацией перехода сцены.

Кто-нибудь должен был сделать что-то подобное?

Подводя итог, вот мои требования:

  1. две активности перехода между собой с помощью скользящей анимации
  2. кнопка с плавающим действием находится в обоих действиях, в одном месте
  3. FAB должен постоянно оставаться на месте, в том числе во время перехода между двумя действиями
  4. FAB может, но не должен отвечать на события onClick во время перехода (это приемлемое ограничение)
  5. Мне все равно, насколько грязной является реализация, но я бы предпочел не проводить рефакторинг в одно действие, потому что оба действия довольно сложны, как они

С удовольствием предоставлю любую дополнительную информацию, если это поможет. Благодарю.

1 ответ

На самом деле, у меня нет аналогичного случая с вами. Я работаю над несколькими фрагментами, а не действиями. То, что вы можете сделать, - это создать базовое действие, которое реализует кнопку fab, и расширить это базовое действие в двух других действиях.

Для соответствующей работы потрясающей кнопки в каждом действии, вы можете сделать это с помощью строки в saveInstanceState, то есть из Bundle.

Надеюсь, поможет!!