Я хочу создать нижнюю панель навигации в моем проекте Android. Вот 5 элементов (только значки элементов. Без названия любого элемента) на панели навигации. Я хочу сделать это так, чтобы при выборе элемента он немного увеличивался вместе с отображением его имени. Как я могу это сделать?

Постскриптум - Вместо этого я попробовал с изображением, внутри которого есть кнопки изображения. Одна кнопка с изображением неувеличенного значка и соответствующая кнопка с изображением увеличенного значка (+ его название) накладываются друг на друга, в результате чего один вариант будет видимым, а другой - невидимым, но это было плохой идеей. Код работает, но макет очень плохой и беспорядочный.

1
Zubayr 24 Сен 2018 в 15:22

2 ответа

Лучший ответ

Ответ с советом:

< Сильный > < EM> Ответ:

Это поведение по умолчанию, если вы используете последнюю версию библиотеки support:design, а затем реализуете свой BottomNavigationView. Как указано в моем комментарии выше; под вашим вопросом.

Некоторые ссылки для реализации нижнего представления навигации (которые вы легко получили бы, если бы искали их в Google):

1] Как создать код для нижней панели навигации для приложения Android

2] Android, работающий с нижней навигацией

< Сильный > < EM> Подсказка :

Но проблема со знаниями, полученными из приведенных выше ссылок; Документация по материальному дизайну сообщает нам, что если в нижней части навигации есть:

3 элемента - мы должны отображать значок с текстом (всегда) для всех элементов.

4–5 элементов - мы должны отображать текст только для активных значков и скрывать неактивные элементы (или представления).

enter image description here

Теперь у вас есть хорошее представление о том, что я собираюсь сказать дальше.

«Это то, что предлагают рекомендации по материальному дизайну, так что давайте сделаем это».

Но на этот раз я не буду. Я не согласен, и вы должны тоже. Я вам скажу почему.

Рекомендации по материальному дизайну не всегда верны.

Независимо от того, есть ли у вас 3 или 5 элементов в нижней части навигации, ВСЕГДА отображаются текстовые метки!

Так вы избежите Mystery Meat Проблема с навигацией, которая беспокоит материальный дизайн. Благодарим Тео Ю Сян за то, что он узнал об этом!

Кнопки или ссылки, которые не объясняют вам, что они делают. Вместо этого вы нужно нажать на них, чтобы узнать - Mystery Meat Navigation.

Я уверен, что все мы хотя бы в какой-то момент были жертвами этого. Мы нажимаем на кнопку, предполагая, что он что-то делает, только для того, чтобы сделать что-то совсем другое!

Так что сделайте одолжение себе и своим пользователям. Всегда показывайте текстовые метки для значков нижней навигации.

Упомянув это (например): bottomNavigation.setTitleState(AHBottomNavigation.TitleState.ALWAYS_SHOW);

Я сделал все возможное, чтобы обеспечить хороший UX. Отдых - все зависит от вас.

Совет. Источник и источник: Полное руководство по нижней навигации на Android

5
Nitin Gurbani 24 Сен 2018 в 14:59

Вы можете использовать BottomNavigationView из библиотеки поддержки Android.

Используйте следующую зависимость -

implementation 'com.android.support:design:26.1.0'

И используйте следующее в файле xml для нижней панели навигации:

<android.support.design.widget.BottomNavigationView
    android:id="@+id/navigation"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:menu="@menu/navigation" />

Примечание . Чтобы функция увеличения работала, в вашем BottomNavigationView должно быть более трех элементов.

2
Himanshu Ganoliya 25 Окт 2018 в 11:20