Теперь, когда отсутствует библиотека поддержки дизайна Android, кто-нибудь знает, как реализовать расширенное меню Fab с его помощью, например, fab на Inbox App?
Должно выглядеть так:
Теперь, когда отсутствует библиотека поддержки дизайна Android, кто-нибудь знает, как реализовать расширенное меню Fab с его помощью, например, fab на Inbox App?
Должно выглядеть так:
Ответы:
В настоящее время в Библиотеке дизайна нет виджетов. Единственный способ сделать это быстро и легко - использовать сторонние библиотеки.
Очевидно, что вы можете сделать это и с помощью Библиотеки дизайна, но это будет огромная работа и потребует много времени. Я упомянул несколько полезных библиотек, которые могут помочь вам достичь этого.
Я использую 4-й.
источник
Получил лучший подход для реализации анимационного меню FAB без использования какой-либо библиотеки или для написания огромного XML-кода для анимации. надеюсь, это поможет в будущем тому, кому нужен простой способ реализовать это.
Просто используя
animate().translationY()
функцию, вы можете анимировать любое представление вверх или вниз, как я сделал в своем коде ниже, проверьте полный код в github . Если вы ищете тот же код в kotlin, вы можете проверить kolin код репо Animating FAB Menu .сначала определите все ваши FAB в одном и том же месте, чтобы они перекрывали друг друга, помните, что в верхней части FAB должно быть то, что вы хотите щелкнуть и показать другие. например:
Теперь в вашем Java-классе просто определите все ваши FAB и выполните щелчок, как показано ниже:
Используйте
animation().translationY()
для анимации вашего FAB, я предпочитаю использовать атрибут этого метода в DP, так как только использование int повлияет на совместимость дисплея с более высоким или более низким разрешением. как показано ниже:Теперь определите вышеупомянутое измерение внутри res-> values-> dimensions.xml, как показано ниже:
Это все надежда, что это решение поможет людям в будущем, которые ищут простое решение.
Если вы хотите добавить метку поверх FAB, то просто возьмите горизонтальную LinearLayout и поместите FAB с textview в качестве метки, и анимируйте макеты, если обнаружите какую-либо проблему, делающую это, вы можете проверить мой пример кода в github, я обработал всю обратную совместимость проблемы в этом примере кода. проверьте мой пример кода для FABMenu в Github
чтобы закрыть FAB на Backpress, переопределите onBackPress (), как показано ниже:
Снимок экрана также имеет название с FAB, потому что я взял его из моего примера приложения в ingithub
источник
Сначала создайте макеты меню в XML-файле вашего макета «Активность». Например, для линейного макета с горизонтальной ориентацией и включения TextView для надписи, затем кнопка плавающего действия рядом с TextView.
Создайте макеты меню в соответствии с вашими потребностями и номером.
Создайте кнопку базового плавающего действия и по ее нажатию измените видимость макетов меню.
Пожалуйста, проверьте приведенный ниже код для справки и для получения дополнительной информации оформите мой проект на github.
Оформить заказ от Github
Это анимации
Открытие анимации FAB Menu:
Закрытие анимации FAB Menu:
Затем в своей деятельности я просто использовал приведенные выше анимации, чтобы показать и скрыть меню FAB:
Показать Fab Menu:
Закрыть Fab Menu:
Вот класс Activity -
Вот скриншоты
источник
Еще одна библиотека, реализующая быстрый набор из руководств по дизайну материалов:
https://github.com/leinardi/FloatingActionButtonSpeedDial
источник
Когда я попытался создать что-то похожее на кнопку «Входящие», я подумал о создании собственного пользовательского компонента.
Это был бы простой макет кадра с фиксированной высотой (чтобы содержать расширенное меню), содержащий кнопку FAB и еще 3, расположенные под FAB. когда вы нажимаете на FAB, вы просто анимируете другие кнопки для перевода из-под FAB.
Есть некоторые библиотеки, которые делают это (например, https://github.com/futuresimple/android-floating-action-button ), но всегда веселее, если вы создаете их самостоятельно :)
источник
layout_anchor
иlayout_anchorGravity
не работают на меняВы можете использовать библиотеку FloatingActionMenu или щелкнуть здесь для пошагового руководства. Выход из учебника:
источник
Я использую эту библиотеку, чтобы сделать это: https://github.com/futuresimple/android-floating-action-button
Довольно прост в использовании;)
источник
layout_anchor
иlayout_anchorGravity
не работают на меняЕще один вариант для того же результата с анимацией ConstraintSet:
1) Поместите все анимированные представления в один ConstraintLayout
2) Анимируйте его из кода, подобного этому (если вы хотите, чтобы некоторые дополнительные эффекты были на ваше усмотрение ... это только пример)
menuItem1 и menuItem2 - это первый и второй FAB в меню, descriptionItem1 и descriptionItem2 - описание слева от меню, parentConstraintLayout - корневой ConstraintLayout, содержащий все анимированные представления, isMenuOpened - это некоторая функция для изменения флага открытия / закрытия в состоянии
Я поместил анимационный код в файл расширения, но это не обязательно.
источник