Как реализовать единую FAB на множестве фрагментов?

Меня интересует реализация FloatingActionButton или FAB в нескольких фрагментах. Когда фрагмент изменяется, значок FAB должен измениться, и кнопка, очевидно, должна затем делать что-то, относящееся к этому конкретному фрагменту, однако для бесшовного отображения FAB находится внутри основного действия, а не для каждого фрагмента.

Каков наиболее правильный и / или эффективный способ сделать это?

Я не могу обдумать это ... Я попытался реализовать слушатели во фрагменте для щелчка в Activity, но он говорит, что слушатели циклические

Спасибо


person Mullazman    schedule 26.06.2015    source источник


Ответы (1)


Вы можете получить плавающую кнопку действия в своих фрагментах, например, в методе onCreate фрагмента, выполнив что-то, что

FloatingActionButton fab = (FloatingActionButton)this.getActivity().findViewById(R.id.fab);
person JF YOBOUE    schedule 05.01.2016
comment
Ах, ладно, я даже не подумал об этом, конечно .. Хорошо, я попробую реализовать и это. В настоящее время мне удалось получить желаемый эффект, присвоив отдельным кнопкам (для каждого фрагмента) одно и то же имя и связав анимацию кнопок с использованием xml, например android:transitionName="fab_right", который, если я использую представление макета координатора, автоматически анимирует кнопки для перемещения для каждого фрагмента, давая иллюзия единственной кнопки - полагаю, это все, что требуется. Спасибо за ответ, внедрим и отметим правильно. - person Mullazman; 06.01.2016
comment
Вам не нужно приводить представления, если ваша версия compileSdk 26 или выше. Проверьте мой ответ. - person Chanaka Fernando; 05.01.2018