使用任何Android设计支持库元素时出错

Jos*_*ams 33 android android-support-library android-design-library

从设计支持库中泄漏任何内容时出错

XML

<android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)

的build.gradle

dependencies {
    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:appcompat-v7:22.2.0'
Run Code Online (Sandbox Code Playgroud)

project build.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}
Run Code Online (Sandbox Code Playgroud)

错误:

Binary XML file line #115: Error inflating class
android.support.design.widget.FloatingActionButton
Run Code Online (Sandbox Code Playgroud)

我的Sdk经理一切都是最新的.
SDK Manager

Cpt*_*age 27

除了Emmanuel的回答,您还可能遇到以下问题.

设计库组件似乎需要一种基于AppCompat主题的样式.因此,请尝试使用"Theme.AppCompat.[...]"作为style.xml中的父级.

例:

<!-- Base application theme. -->
<style name="AppTheme" parent="Base.AppTheme">
    <!-- Customize your theme here. -->
</style>

<style name="Base.AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:colorPrimary">@color/primary</item>
    <item name="android:colorPrimaryDark">@color/primary_dark</item>
    <item name="android:colorAccent">@color/accent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

然后将以下内容添加到build.gradle中:

compile 'com.android.support:appcompat-v7:22.2.0'
Run Code Online (Sandbox Code Playgroud)

此外,您还应该更新gradle中的以下行:

classpath 'com.android.tools.build:gradle:1.2.3'
compileSdkVersion 22
buildToolsVersion '22.0.1'
targetSdkVersion 22
Run Code Online (Sandbox Code Playgroud)

  • 这很有效.我需要更改AppTheme的父级.谢谢! (2认同)
  • 这也对我有用,但随后我的`Toolbar`消失了.有没有办法保持`Theme.Materia`l并拥有`NavigationView`? (2认同)

Emm*_*mos 11

在Extras> Android支持存储库和Android支持库中更新SDK Manager上的支持库,这对我有用;)

并且不要忘记在app.gradle上添加编译'com.android.support:design:22.2.0'并同步


vov*_*888 5

在我的情况下,使用android.support.design.widget.NavigationView时同样的崩溃是通过将app:itemTextColor属性添加到布局xml来解决的:

    <android.support.design.widget.NavigationView
        android:id="@+id/navigation"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header"
        app:itemTextColor="?android:textColorPrimary"
        app:menu="@menu/drawer"/>
Run Code Online (Sandbox Code Playgroud)