#android #material-design #bottomnavigationview #badge
Вопрос:
Я пытаюсь добавить значки в нижнюю навигацию, но проблема в том, что на getOrCreateBadge не ссылаются. Я не могу получить доступ к этому методу.
Ошибка : Неразрешенная ссылка: getOrCreateBadge
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.fragment.app.FragmentContainerView
android:id="@ id/fragment_container"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@ id/bnv_nav"
app:defaultNavHost="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@ id/bnv_nav"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/dp56"
android:layout_alignParentBottom="true"
android:fitsSystemWindows="true"
app:itemIconTint="@drawable/tab_color"
app:itemTextColor="@drawable/tab_color" />
Тема
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/white</item>
<item name="android:textViewStyle">@style/AppTheme.Widget.TextView</item>
<item name="android:actionBarStyle">@style/AppTheme.ActionBar</item>
<item name="android:navigationBarColor" tools:targetApi="21">@color/white</item>
<item name="android:windowLightNavigationBar" tools:targetApi="27">true</item>
<item name="android:windowDisablePreview">true</item>
</style>
Я добавляю пункт меню во время выполнения.
Вещи, которые я уже пробовал :
- Добавление пунктов меню из самого xml : по-прежнему без эффекта
- Изменение темы на тему материала : все та же проблема
- Создал отдельный проект с нижней навигацией : в этом проекте нет проблем, если я добавлю значки. Я также изменил его тему на тему моего приложения, т. Е. Значки совместимости приложений по-прежнему отлично работают в этом проекте.
- Изначально зависимость не была добавлена из материала Android, и я смог использовать нижнюю панель навигации. Но так как я столкнулся с проблемой при добавлении значков, я добавил зависимость извне и убедился, что также поставил последнюю версию, но все равно в конце столкнулся с той же проблемой. Невозможно добавить значки в нижней навигации.
Я знаю, что это что-то очень простое, но если бы кто-нибудь мог указать на это, это было бы большим подспорьем, уже столкнувшимся с этой проблемой за последние два дня. Заранее благодарю.
Ответ №1:
В идеале вы должны использовать реализацию «com.google.android.материал:материал:1.3.0» . Убедитесь, что вы удалили папку сборок перед синхронизацией и восстановлением gradle.
Комментарии:
1. Я проверил, что смог разобраться в проблеме, так как приложение указывает на material design 1.0.0(после миграции), из-за чего я не могу использовать значки. Можете ли вы предложить мне какой-либо обходной путь, с помощью которого я могу указать нижний навигационный компонент на новейший дизайн материалов. и остальные компоненты не затронуты(я могу использовать приложение compat).
2. реализация «com.google.android.материал:материал:1.3.0» Какие-либо проблемы с использованием версии 1.3.0?
3. Что-то вроде этого может помочь BottomNavigationView android:тема=»@стиль/тема. Материальные компоненты. Свет» />