InflateException - 浮动操作按钮
Posted
技术标签:
【中文标题】InflateException - 浮动操作按钮【英文标题】:InflateException - Floating Action Button 【发布时间】:2018-10-18 03:08:39 【问题描述】:我的应用程序收到此错误
膨胀类 android.support.design.widget.FloatingActionButton 时出错
我在互联网上搜索错误我尝试了所有方法,但没有看到我的错误。我将不胜感激。
这是我的 xml 文件。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@drawable/bg_call_incoming"
android:orientation="vertical">
...
<android.support.design.widget.FloatingActionButton//line80
android:id="@+id/fabCallButton"
android:layout_
android:layout_
android:scaleType="center"
app:srcCompat="@drawable/ic_call_white_24dp"
app:tint="#004684"
app:rippleColor="@color/ripple_color"
tools:ignore="VectorDrawableCompat" />
...
Build.gradle:
dependencies
implementation fileTree(dir: 'libs',include: ['*.jar'])
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.google.firebase:firebase-messaging:15.0.0'
日志:
05-08 10:54:58.380 4808-4808/io.nitro.uzmaniaraexpert E/AndroidRuntime: FATAL EXCEPTION: main 进程:io.nitro.uzmaniaraexpert,PID:4808 java.lang.RuntimeException:无法启动活动 ComponentInfoio.nitro.uzmaniaraexpert/io.nitro.uzmaniaraexpert.DenemeAnimation:android.view.InflateException:二进制 XML 文件行#80:二进制 XML 文件行#80:膨胀类错误android.support.design.widget.FloatingActionButton 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2434) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494) 在 android.app.ActivityThread.access$900(ActivityThread.java:157) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1356) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5551) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 引起:android.view.InflateException:二进制 XML 文件第 80 行:二进制 XML 文件第 80 行:错误膨胀类 android.support.design.widget.FloatingActionButton 在 android.view.LayoutInflater.inflate(LayoutInflater.java:539) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:423) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:374) 在 android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 在 io.nitro.uzmaniaraexpert.DenemeAnimation.onCreate(DenemeAnimation.java:56) 在 android.app.Activity.performCreate(Activity.java:6272) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2387) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494) 在 android.app.ActivityThread.access$900(ActivityThread.java:157) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1356) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5551) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 引起:android.view.InflateException:二进制 XML 文件第 80 行:错误膨胀类 android.support.design.widget.FloatingActionButton 在 android.view.LayoutInflater.createView(LayoutInflater.java:645) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:515) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:423) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:374) 在 android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 在 io.nitro.uzmaniaraexpert.DenemeAnimation.onCreate(DenemeAnimation.java:56) 在 android.app.Activity.performCreate(Activity.java:6272) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2387) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494) 在 android.app.ActivityThread.access$900(ActivityThread.java:157) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1356) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5551) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 引起:java.lang.reflect.InvocationTargetException 在 java.lang.reflect.Constructor.newInstance(Native Method) 在 android.view.LayoutInflater.createView(LayoutInflater.java:619) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:515) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:423) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:374) 在 android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 在 io.nitro.uzmaniaraexpert.DenemeAnimation.onCreate(DenemeAnimation.java:56) 在 android.app.Activity.performCreate(Activity.java:6272) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2387) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494) 在 android.app.ActivityThread.access$900(ActivityThread.java:157) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1356) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5551) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 原因:android.content.res.Resources$NotFoundException:资源 ID #0x7f080074 在 android.content.res.Resources.getValue(Resources.java:1401) 在 android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:328) 在 android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193) 在 android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:186) 在 android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100) 在 android.support.v7.widget.AppCompatImageHelper.loadFromAttributes(AppCompatImageHelper.java:58) 在 android.support.design.widget.FloatingActionButton.(FloatingActionButton.java:184) 在 android.support.design.widget.FloatingActionButton.(FloatingActionButton.java:158) 在 java.lang.reflect.Constructor.newInstance(Native Method) 在 android.view.LayoutInflater.createView(LayoutInflater.java:619) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:515) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:423) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:374) 在 android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 在 io.nitro.uzmaniaraexpert.DenemeAnimation.onCreate(DenemeAnimation.java:56) 在 android.app.Activity.performCreate(Activity.java:6272) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2387) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494) 在 android.app.ActivityThread.access$900(ActivityThread.java:157) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1356) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5551) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
【问题讨论】:
根据错误日志 -Binary XML file line #80
- 你在 xml 文件的第 80 行有什么?
我编辑了我的问题,我删除了 xml 上不必要的图像,以缩短添加浮动按钮后出现的问题错误。
也许是这个? ***.com/a/37020077/4255978,或者这个 - ***.com/a/30895974/4255978
您可能会收到此错误,因为您在 FAB 按钮中使用矢量图像
我尝试更改图像和 backgroundTint 但它不起作用我意识到在样式文件中我得到主题符号无法解析错误。如果我删除它的工作,但是。符号无法解决错误不会消失。我尝试清理 gradle,删除并重新下载,但我仍然收到主题无法解决错误。
【参考方案1】:
替换
app:tint="#004684"
与
app:backgroundTint="#004684"
【讨论】:
以上是关于InflateException - 浮动操作按钮的主要内容,如果未能解决你的问题,请参考以下文章