简体   繁体   English

错误膨胀类 android.support.design.widget.FloatingActionButton

[英]Error inflating class android.support.design.widget.FloatingActionButton

My app crashed because我的应用程序崩溃了,因为

Error inflating class android.support.design.widget.FloatingActionButton错误膨胀类 android.support.design.widget.FloatingActionButton

This is my code in the XML这是我在 XML 中的代码

<android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_margin="16dp"
        android:src="@drawable/icon_right"
        app:backgroundTint="@color/green"
        android:onClick="previewphoto"
        app:layout_anchorGravity="bottom|right|end" />

and here is my gradle这是我的毕业证书

compile 'com.android.support:appcompat-v7:23.4.0' // appcompat library
compile 'com.android.support:design:23.4.0'

my logcat我的日志

FATAL EXCEPTION: main Process: com.cyanlabsid.cetakphoto, PID: 15298 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cyanlabsid.cetakphoto/com.cyanlabsid.cetakphoto.PhotoPicker}: android.view.InflateException: Binary XML file line #76: Binary XML file line #76: Error inflating class android.support.design.widget.FloatingActionButton at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2423) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2483) at android.app.ActivityThread.access$900(ActivityThread.java:153) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1349) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5441) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738) at com.android.internal.os.ZygoteInit.main(ZygoteInit.ja致命异常:主进程:com.cyanlabsid.cetakphoto,PID:15298 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.cyanlabsid.cetakphoto/com.cyanlabsid.cetakphoto.PhotoPicker}:android.view.InflateException:二进制 XML文件第 76 行:二进制 XML 文件第 76 行:在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2423) 的 android.app.ActivityThread.handleLaunchActivity(ActivityThread. java:2483) 在 android.app.ActivityThread.access$900(ActivityThread.java:153) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1349) 在 android.os.Handler.dispatchMessage(Handler.java: 102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5441) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android .internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.ja va:628) Caused by: android.view.InflateException: Binary XML file line #76: Binary XML file line #76: Error inflating class android.support.design.widget.FloatingActionButton at android.view.LayoutInflater.inflate(LayoutInflater.java:543) at android.view.LayoutInflater.inflate(LayoutInflater.java:427) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at com.cyanlabsid.cetakphoto.PhotoPicker.onCreate(PhotoPicker.java:74) at android.app.Activity.performCreate(Activity.java:6303) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2376) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2483) at android.app.ActivityThread.access$900(ActivityThread.java:153) at android.app.A va:628) 引起:android.view.InflateException:二进制 XML 文件第 76 行:二进制 XML 文件第 76 行:在 android.view.LayoutInflater.inflate(LayoutInflater.inflate(LayoutInflater. java:543) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:427) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:374) 在 android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java :284) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 在 com.cyanlabsid.cetakphoto.PhotoPicker.onCreate(PhotoPicker.java:74) 在 android.app.Activity.performCreate(Activity. java:6303) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2376) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2483) 在android.app.ActivityThread.access$900(ActivityThread.java:153) 在 android.app.A ctivityThread$H.handleMessage(ActivityThread.java:1349) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5441) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628) ctivityThread$H.handleMessage(ActivityThread.java:1349) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main (ActivityThread.java:5441) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738) at com.android.internal.os .ZygoteInit.main(ZygoteInit.java:628)

Can somebody tell my fault?有人可以告诉我的错吗?

Use

app:backgroundTint

in stead of代替

android:backgroundTint

Hope it will work.希望它会起作用。

因为android:backgroundTint在 android API 21 android:backgroundTint不起作用,所以您需要改用app:backgroundTint

Tried your code, the problem is with the 23.4.0 library.尝试了您的代码,问题出在 23.4.0 库上。

Upgrade to 24.+ , there's no error in that lib.升级到 24.+ ,该库中没有错误。

For example :例如 :

implementation 'com.android.support:appcompat-v7:24.2.1' // appcompat library
implementation 'com.android.support:design:24.2.1'

You need to change the compile version to 24 too.您也需要将编译版本更改为 24。

compileSdkVersion 24

Below API level 21 app versions not support for the低于 API 级别 21 的应用版本不支持

app:backgroundTint="@color/green"

or you can use this library for achieve more material design widgets.或者你可以使用这个库来实现更多的材料设计小部件。

https://github.com/navasmdc/MaterialDesignLibrary https://github.com/navasmdc/MaterialDesignLibrary

happy coding...快乐编码...

You need to add你需要添加

android:theme="@style/Theme.AppCompat" android:theme="@style/Theme.AppCompat"

in the XML_Layout file in which you are using FloatingActionButton...在您使用 FloatingActionButton 的 XML_Layout 文件中...

I had the same problem我有同样的问题

I faced the same issue with Pre-Lolipop version and to resolve it, I just changed " android:src " to " app:srcCompat " & it worked for me.我遇到了与 Pre-Lolipop 版本相同的问题,为了解决它,我只是将“ android:src ”更改为“ app:srcCompat ”,它对我有用

To make compatibility with older version and if you're using a Vector graphics (as drawable assets) you should use:为了与旧版本兼容,并且如果您使用矢量图形(作为可绘制资产),您应该使用:

app:srcCompat="@drawable/you_graphics"

instead of:代替:

android:src="@drawable/your_graphics"

I am using:我在用:

classpath 'com.android.tools.build:gradle:3.3.2'类路径 'com.android.tools.build:gradle:3.3.2'

and

distributionUrl=https://services.gradle.org/distributions/gradle-4.10.1-all.zip distributionUrl=https://services.gradle.org/distributions/gradle-4.10.1-all.zip

I changed my XML to:我将我的 XML 更改为:

<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:clickable="true"
        android:focusable="true"
        app:srcCompat="@drawable/mapit"
        app:layout_anchor="@id/foundit_imageView"
        app:layout_anchorGravity="bottom|right|end" />

and everything built and ran correctly.一切都正确构建和运行。

I hope this helps我希望这有帮助

 <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:src="@drawable/ic_add_foreground"
        android:layout_margin="16dp" />

Use this用这个

 <com.google.android.material.floatingactionbutton.FloatingActionButton>

instead of代替

<android.support.design.widget.FloatingActionButton>

Make sure the library from which you declared the FloatingActionButton in the activity is the same as the one used for the layout markup确保您在活动中声明FloatingActionButton的库与用于布局标记的库相同

For example have例如有

import com.google.android.material.floatingactionbutton.FloatingActionButton;导入 com.google.android.material.floatingactionbutton.FloatingActionButton; in the activity and com.google.android.material.floatingactionbutton.FloatingActionButton as the tag for the layout在活动和com.google.android.material.floatingactionbutton.FloatingActionButton作为布局的标记

I was using Material Design for my ExtendedFloatingActionButton and when using API 24 it would crash the app.我为 ExtendedFloatingActionButton 使用 Material Design,当使用 API 24 时,它会使应用程序崩溃。

I tried updating my gradle dependencies to the latest version:我尝试将我的 gradle 依赖项更新到最新版本:

implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0-alpha02'

but I had no luck with that either.但我也没有运气。 My solution was adding android:theme="" even though I had set a style it would still crash so I set the theme to the same as the style and it worked perfectly.我的解决方案是添加android:theme=""即使我设置了一个样式它仍然会崩溃,所以我将主题设置为与样式相同并且它完美地工作。

<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
                    android:id="@+id/btn_one"
                    android:theme="@style/"
                    style="@style/"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:contentDescription="@string/text"
                    android:text="@string/text"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />

Add in加入

build.gradle(:app) build.gradle(:app)

 implementation 'com.google.android.material:material:1.2.0'

Use this in your XML在您的 XML 中使用它

<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_margin="16dp"
        android:src="@drawable/icon_right"
        app:backgroundTint="@color/green"
        android:onClick="previewphoto"
        app:layout_anchorGravity="bottom|right|end" />

use this code it will be work better ;使用此代码会更好;

<android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:layout_margin="16dp"
        app:backgroundTint="#f9fcfc"

        android:src="@drawable/chat_float"
        tools:targetApi="lollipop" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在Android中输入类android.support.design.widget.FloatingActionButton时出错 - Error inflating class android.support.design.widget.FloatingActionButton in Android 错误膨胀类android.support.design.widget.FloatingActionButton - android - Error inflating class android.support.design.widget.FloatingActionButton - android Android Studio:错误膨胀类 android.support.design.widget.FloatingActionButton - Android Studio: Error inflating class android.support.design.widget.FloatingActionButton 在 Androidx 库上膨胀类 android.support.design.widget.FloatingActionButton 时出错 - Error inflating class android.support.design.widget.FloatingActionButton on Androidx library android.view.InflateException:二进制XML文件第31行:错误膨胀了类android.support.design.widget.FloatingActionButton - android.view.InflateException: Binary XML file line #31: Error inflating class android.support.design.widget.FloatingActionButton android.view.InflateException:二进制XML文件第29行:错误膨胀了类android.support.design.widget.FloatingActionButton - android.view.InflateException: Binary XML file line #29: Error inflating class android.support.design.widget.FloatingActionButton &#39;二进制 XML 文件第 2 行:二进制 XML 文件第 2 行:错误膨胀类 android.support.design.widget.FloatingActionButton&#39; - 'Binary XML file line #2: Binary XML file line #2: Error inflating class android.support.design.widget.FloatingActionButton' 导入 android.support.design.widget.FloatingActionButton; - import android.support.design.widget.FloatingActionButton; 错误:包 android.support.design.widget 不存在 import android.support.design.widget.FloatingActionButton; - error: package android.support.design.widget does not exist import android.support.design.widget.FloatingActionButton; 整数不能转换为 android.support.design.widget.FloatingActionButton - Integer cannot be cast to android.support.design.widget.FloatingActionButton
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM