Я пытаюсь добавить BottomAppBar в свою активность, но возникает ошибка: «java.lang.RuntimeException: невозможно запустить активность ComponentInfo{com.mathmech.cards/com.mathmech.cards.activity.MainActivity}: android.view. InflateException: строка двоичного XML-файла № 24: строка двоичного XML-файла № 24: ошибка при раздувании класса com.google.android.material.bottomappbar.BottomAppBar"
Я пытался следовать руководствам в Интернете, но ничего не помогло
<?xml version = "1.0" encoding = "utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
xmlns:tools = "http://schemas.android.com/tools"
tools:context = ".activity.MainActivity"
android:layout_width = "match_parent"
android:layout_height = "match_parent">
<ListView
android:id = "@+id/listView"
app:layout_constraintBottom_toBottomOf = "parent"
app:layout_constraintLeft_toLeftOf = "parent"
app:layout_constraintRight_toRightOf = "parent"
app:layout_constraintTop_toTopOf = "parent"
android:layout_width = "match_parent"
android:layout_height = "match_parent">
</ListView>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width = "match_parent"
android:layout_height = "match_parent">
<com.google.android.material.bottomappbar.BottomAppBar
android:id = "@+id/bottom_app_bar"
app:fabAlignmentMode = "center"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:backgroundTint = "@color/colorPrimary"
android:gravity = "bottom" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id = "@+id/fab"
app:layout_anchor = "@id/bottom_app_bar"
android:layout_width = "wrap_content"
android:src = "@drawable/ic_add_black_24dp"
android:layout_height = "wrap_content" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
Обновлено: добавлен стили.xml
<resources>
<!-- Base application theme. -->
<style name = "AppTheme" parent = "Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name = "colorPrimary">@color/colorPrimary</item>
<item name = "colorPrimaryDark">@color/colorPrimaryDark</item>
<item name = "colorAccent">@color/colorAccent</item>
</style>
</resources>
Зависимости @SaurabhThorat { реализация fileTree (включая: ['*.jar'], dir: 'libs') реализация 'androidx.appcompat:appcompat:1.1.0-alpha05' реализация 'androidx.constraintlayout:constraintlayout:2.0.0-beta1 ' testImplementation 'junit:junit:4.13-beta-3' androidTestImplementation 'androidx.test:runner:1.2.0-beta01' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0-beta01' реализация 'org.jetbrains :annotations:15.0' реализация 'com.google.android.material:material:1.1.0-alpha06' }
Разместите свой styles.xml
@SaurabhThorat вот он (отредактированный пост)
опубликуйте свой build.gradle
Вместо того, чтобы использовать родительскую тему как Theme.AppCompat.Light.DarkActionBar
, используйте Theme.MaterialComponents
или ее потомок.
Попробуйте использовать этот стиль в XML-файле нижней панели приложений.
style=”@style/Widget.MaterialComponents.BottomAppBar”
Да, изменение Theme.AppCompact.Light.DarkActionBar
на Theme.MaterialComponents
поможет вам увидеть xml в редакторе макета.
Также вы можете следить за этой статьей Реализация BottomAppBar I: материальные компоненты для Android
Вы добавили правильную зависимость для
BottomAppBar
?