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

时间:2015-05-30 14:27:12

标签: android android-support-library android-design-library

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

XML

<android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

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

项目build.gradle

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

allprojects {
    repositories {
        mavenCentral()
    }
}

错误:

Binary XML file line #115: Error inflating class
android.support.design.widget.FloatingActionButton

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

5 个答案:

答案 0 :(得分:26)

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

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

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

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

classpath 'com.android.tools.build:gradle:1.2.3'
compileSdkVersion 22
buildToolsVersion '22.0.1'
targetSdkVersion 22

答案 1 :(得分:11)

在Extras中更新SDK Manager上的支持库&gt; Android支持存储库和Android支持库,适用于我;)

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

答案 2 :(得分: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"/>

答案 3 :(得分:3)

请注意,即使您使用的是设计支持库中的FloatingActionButton窗口小部件,如果您希望FAB可以使用较旧版本,仍需使用srcCompat来引用您的图标设备

<android.support.design.widget.FloatingActionButton
    app:srcCompat="@drawable/ic_keyboard_arrow_right_black_24dp"
    ... />

答案 4 :(得分:0)

仔细检查一件事是您已在AndroidManifest.xml文件中正确应用了主题。就我而言,我省略了android:theme属性。 E.g:

<application ... android:theme="@style/Your.Theme.Here" ... >