扩展类android.support.design.widget.CoordinatorLayout时出错

xav*_*ate 36 android floating-action-button

我想在我的应用程序上使用FloatingActionButton,我读到这个:https://guides.codepath.com/android/Floating-Action-Buttons#google-s-official-support-library但是当我运行Activity我有这个错误:

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
Run Code Online (Sandbox Code Playgroud)

XML文件

<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>
Run Code Online (Sandbox Code Playgroud)

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.+'

}
Run Code Online (Sandbox Code Playgroud)

小智 40

如果您使用Activity,请将其更改为AppCompatActivity.它可能是活动时的错误.

  • 将布局更改为androidx.coordinatorlayout.widget.CoordinatorLayout为我修复了它 (6认同)

小智 27

只需在FloatingActionButton中使用此行(app而不是android):

app:backgroundTint="@color/colorAccent"
Run Code Online (Sandbox Code Playgroud)


Ami*_* De 22

对于那些使用AndroidX依赖关系的用户

除了更改依赖性之外,还必须更改XML

<android.support.design.widget.CoordinatorLayout 
Run Code Online (Sandbox Code Playgroud)

<androidx.coordinatorlayout.widget.CoordinatorLayout
Run Code Online (Sandbox Code Playgroud)


小智 18

请放入compile 'com.android.support:design:23.0.1'项目build.gradle文件


uni*_*dit 16

我有同样的错误.只需将项目父主题更改为

<style name="Base.AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
Run Code Online (Sandbox Code Playgroud)

或任何其他Theme.AppCompat*


Ivo*_*nov 6

您必须包含支持库.

  1. 转到"项目结构" - >依赖项
  2. 在右侧单击"+"并选择"1.库依赖"
  3. 搜索"android.support"
  4. 添加两个:
    • com.android.support:appcompat-v7:.......
    • com.android.support:design:........
  5. 同步Gradle 在此输入图像描述 快乐的编码!:)