Error inflating class android.support.design.widge

2020-02-03 04:57发布

I would like use a FloatingActionButton on my application, I read this : https://guides.codepath.com/android/Floating-Action-Buttons#google-s-official-support-library but when I run the Activity I have this error :

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xavier_laffargue.podcast/com.xavier_laffargue.podcast.ACT_Test}: android.view.InflateException: Binary XML file line #1: Error inflating class android.support.design.widget.CoordinatorLayout

XML File

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/main_content"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ListView
        android:id="@+id/lvToDoList"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></ListView>

    <android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_margin="24dp"
        android:src="@drawable/ic_action_refresh"
        app:layout_anchor="@id/lvToDoList"
        app:layout_anchorGravity="bottom|right|end" />

</android.support.design.widget.CoordinatorLayout>

Graddle

*apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.xavier_laffargue.podcast"
        minSdkVersion 21
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.android.support:support-v4:22.2.0'
    compile 'com.android.support:design:22.2.0'

    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support:support-v13:22.2.0'
    compile 'com.android.support:cardview-v7:21.0.+'
    compile 'com.android.support:recyclerview-v7:21.0.+'

}

13条回答
混吃等死
2楼-- · 2020-02-03 05:26

It worked for me

Disable Instant Run

File => Settings => Build, Execution, Deployment => Instant Run

查看更多
唯我独甜
3楼-- · 2020-02-03 05:29

For those using AndroidX Dependency. In your xml files make sure all your

 android.support.???

nodes inside CoordinatorLayout's (like included ActionBars) are also replaced with

androidx.??? (or com.google.android.???)

ones .

查看更多
姐就是有狂的资本
4楼-- · 2020-02-03 05:30

needed both:

  • extend AppCompatActivity instead of FragmentActivity

    public class MyActivity extends AppCompatActivity
    
  • parent of used style (/res/values/styles.xml)

    <style name="MyStyle" parent="Theme.AppCompat">
    

additionally:

  • define colors in styles.xml

    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
    
查看更多
ら.Afraid
5楼-- · 2020-02-03 05:30

For Xamarin Developers:

(supports Android API 7 to 22+)

  1. Make sure you have installed following components:
    • Android Support Design Library
    • Android Support Library v7 AppCompat
  2. Make sure all NuGet packages for these components are installed and referenced. These are:
    • Xamarin.Android.Support.Design
    • Xamarin.Android.Support.v4
    • Xamarin.Android.Support.v7.AppCompat
    • Xamarin.Android.Support.v7.RecyclerView
  3. Your Apps Activity should derive from Android.Support.V7.App.AppCompatActivity
  4. Your used style has to be derived from a Theme.AppCompat.* style. So your Resources\values\styles.xml should look like this:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <style name="YourAppTheme" parent="Theme.AppCompat">
            <item name="colorPrimaryDark">#AB000D</item>
            <item name="colorPrimary">#E53935</item>
            <item name="colorAccent">#00B8D4</item>
        </style>
        <!-- other styles... -->
    </resources>
    
  5. Also make sure you actually use the theme in your AndroidManifest.xml

    <application android:theme="@style/YourAppTheme"></application>
    
查看更多
Bombasti
6楼-- · 2020-02-03 05:31

For those using AndroidX Dependency

Along with changing dependencies, XML must also be changed.

from

<android.support.design.widget.CoordinatorLayout 

to

<androidx.coordinatorlayout.widget.CoordinatorLayout
查看更多
Emotional °昔
7楼-- · 2020-02-03 05:36

Please change it into AppCompatActivity if you use Activity. Probably it becomes the error when it is Activity.

查看更多
登录 后发表回答