1
votes

Comment placer bottomAppBar dans la mise en page

Je travaille actuellement sur un projet qui utilise la barre d'application inférieure comme navigation principale. mais j'obtiens toujours une erreur même lorsque je copie-coller à partir d'un exemple de code source

Voici mon fichier de mise en page

Binary XML file line #14: Binary XML file line #14: Error inflating class com.google.android.material.bottomappbar.BottomAppBar

Voici mes dépendances gradle p >

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    testImplementation 'junit:junit:4.12'
    implementation 'com.google.android.material:material:1.1.0-alpha05'
    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}

Voici une erreur que j'ai eue

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <androidx.coordinatorlayout.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <com.google.android.material.bottomappbar.BottomAppBar
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"></com.google.android.material.bottomappbar.BottomAppBar>

    </androidx.coordinatorlayout.widget.CoordinatorLayout>

</LinearLayout>


0 commentaires

3 Réponses :



1
votes

J'ai résolu ce problème récemment. Vous devez ajouter la dépendance de

<?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" android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

    <com.google.android.material.bottomnavigation.BottomNavigationView
            android:layout_width="0dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            android:layout_height="wrap_content" android:id="@+id/vBottomBar"
            app:layout_constraintHorizontal_bias="0.0"/>
    <FrameLayout
            android:layout_width="0dp"
            android:layout_height="0dp" app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintBottom_toTopOf="@+id/vBottomBar" android:id="@+id/vContainer">

    </FrameLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

, puis ajouter à votre fichier de mise en page XML.

Cela a fonctionné pour moi

implementation 'com.google.android.material:material:1.0.0


1 commentaires

Merci, je viens de trouver la solution hier soir. Mon problème est que la version actuelle des dépendances est toujours alpha et non stable. J'utilisais la version matérielle `` 1.1.0-alpha05 '', je l'ai donc rétrogradée à 1.0.0 et tout s'est bien déroulé



1
votes

J'ai trouvé la solution à mon problème hier soir. Mon problème est que j'utilise

implementation 'com.google.android.material:material:1.0.0'

et que cette version est toujours alpha et non stable. Je l'ai donc rétrogradé à

implementation 'com.google.android.material:material:1.1.0-alpha05'

et tout fonctionne aussi bien que du beurre


0 commentaires