android - 当我在手机(android 6.1 和 api 23)上运行我的应用程序时它崩溃了,但是当我在模拟器(android 7.0 和 api 24)上运行它时它不会崩溃

标签 android xml

我注意到只有在我的主要 Activity 中 fab 上有 backgroundTint 时,应用程序才会崩溃。

错误截图如下:

Screenshot

这是我的主要 Activity :

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:backgroundTint="@color/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

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

<include layout="@layout/content_main"
    android:id="@+id/include" />

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="@dimen/fab_margin"
    android:backgroundTint="@color/colorPrimary"
    android:tint="@color/colorWhite"
    app:fabSize="normal"
    app:srcCompat="@android:drawable/ic_input_add"/>

这是崩溃日志:

E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: xyz.gregswebsite.notes, PID: 19184
                  java.lang.RuntimeException: Unable to start activity ComponentInfo{xyz.gregswebsite.notes/xyz.gregswebsite.notes.MainActivity}: android.view.InflateException: Binary XML file line #27: Binary XML file line #27: Error inflating class android.support.design.widget.FloatingActionButton
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2434)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494)
                      at android.app.ActivityThread.access$900(ActivityThread.java:157)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1356)
                      at android.os.Handler.dispatchMessage(Handler.java:102)
                      at android.os.Looper.loop(Looper.java:148)
                      at android.app.ActivityThread.main(ActivityThread.java:5551)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
                   Caused by: android.view.InflateException: Binary XML file line #27: Binary XML file line #27: Error inflating class android.support.design.widget.FloatingActionButton
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:539)

这是我的 build.gradle 的图片:

apply plugin: 'com.android.application'
android {
    compileSdkVersion 24
    buildToolsVersion "25.0.1"
    defaultConfig {
        applicationId "xyz.gregswebsite.notes"
        minSdkVersion 19
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',  {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.android.support:design:24.2.1'
    testCompile 'junit:junit:4.12'
}

最佳答案

好的,基于答案here ,您可能需要将 android:backgroundTint 更改为 app:backgroundTint。主题也需要是 AppCompat。它应该在 22 up 上工作,但看看它是否有效。

关于android - 当我在手机(android 6.1 和 api 23)上运行我的应用程序时它崩溃了,但是当我在模拟器(android 7.0 和 api 24)上运行它时它不会崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40903018/

相关文章:

c# - 根据C#中的日期从Xml中过滤数据

java - 在单个 ListView 中左右对齐

java - 如何以编程方式将用户添加到 tomcat UserDatabaseRealm?

android - OkHttp3 In-None-Match 未发送

java - 播放 mp3 音乐文件时用于检测吉他和弦的开源 Java 库

android - SlidingTabLayout 当前项集在首次加载 Activity 时未显示

c# - 使用 LINQ 从 xml 中删除元素

java - 程序不会打开新窗口

android - Android 应用程序中来自服务器的动态数据的本地化

php - 通过PHP脚本在Android中根据Checkbox点击填充MySQL表