0

J'utilise actuellement un DrawerLayout comme ma disposition racine pour accéder au menu déroulant qui contient mes fragments. Je veux ajouter un FAB à travers tous les fragments, mais obtenir l'erreur -Floating action button Erreur de gonflage de la classe android.support.design.widget.FloatingActionButton Lors de l'utilisation de DrawerLayout

android.view.InflateException: ligne fichier XML binaire # 21: XML binaire ligne fichier # 21: Erreur de gonflage classe android.support.design .widget.FloatingActionButton

J'ai essayé de le contenir dans un FrameLayout mais j'ai quand même la même erreur. J'ai également essayé plusieurs images car je suis conscient que cette erreur peut se produire lorsque l'image a plus de pixels qu'il n'y a de mémoire pour l'application. Mon SDK cible est 23 et j'ai compilé les bibliothèques appcompat pertinentes en tant que telles.

Quelques informations supplémentaires;

XML Activité principale

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    tools:context="com.example.liamk.version2.MainActivity" 
    android:id="@+id/drawerLayout"> 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/main_fragment"> 

      <android.support.design.widget.FloatingActionButton 
       android:id="@+id/fab" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="bottom|right" 
       android:layout_marginBottom="@dimen/activity_vertical_margin" 
       android:layout_marginRight="@dimen/activity_horizontal_margin" 
       android:src="@mipmap/ic_list_black_24dp"/> 
     </FrameLayout> 
    </LinearLayout> 

    <android.support.design.widget.NavigationView 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:id="@+id/nav_menu" 
     app:menu="@menu/navigation_menu" 
     android:layout_gravity="start" 
     app:headerLayout="@layout/navigationheader"> 

    </android.support.design.widget.NavigationView> 
    </android.support.v4.widget.DrawerLayout> 

Gradle

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 

    defaultConfig { 
     applicationId "com.example.liamk.version2" 
     minSdkVersion 19 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.4.0' 
    compile 'com.android.support:design:23.4.0' 
    compile 'com.android.support:support-v4:23.4.0' 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.google.android.gms:play-services-auth:10.0.1' 
    compile 'pub.devrel:easypermissions:0.2.1' 
    compile('com.google.api-client:google-api-client-android:1.22.0') { 
     exclude group: 'org.apache.httpcomponents' 
    } 
    compile('com.google.apis:google-api-services-calendar:v3-rev225-1.22.0') { 
     exclude group: 'org.apache.httpcomponents' 
    } 
} 

Thème

<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> 

    <style name="AppTheme.NoActionBar"> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
    </style> 

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 

</resources> 

Répondre

0

J'ai trouvé une solution à ce que j'ai oublié de poster.

Utilisez une disposition d'onglets en tant qu'enfant dans une disposition de coordinateur parent. La conception matérielle est votre ami.