错误膨胀 class android.support.design.widget.FloatingActionButton
Error inflating class android.support.design.widget.FloatingActionButton
我的应用崩溃了,因为
Error inflating class android.support.design.widget.FloatingActionButton
这是我在 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" />
这是我的 gradle
compile 'com.android.support:appcompat-v7:23.4.0' // appcompat library
compile 'com.android.support:design:23.4.0'
我的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.access0(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.java: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.access0(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.java:628)
谁能告诉我错在哪里?
试过你的代码,问题出在 23.4.0 库上。
升级到24.+,那个库没有错误。
例如:
implementation 'com.android.support:appcompat-v7:24.2.1' // appcompat library
implementation 'com.android.support:design:24.2.1'
编译版本也要改成24
compileSdkVersion 24
我遇到了同样的问题
我在 Lolipop 之前的版本中遇到了同样的问题,为了解决它,我只是将“android:src”更改为“app” :srcCompat" & 它对我有用。
为了与旧版本兼容,如果您使用矢量图形(作为可绘制资源),您应该使用:
app:srcCompat="@drawable/you_graphics"
而不是:
android:src="@drawable/your_graphics"
低于 API 级别 21 的应用程序版本不支持
app:backgroundTint="@color/green"
或者您可以使用此库来实现更多 material 设计小部件。
编码愉快...
使用
app:backgroundTint
代替
android:backgroundTint
希望它能奏效。
因为android:backgroundTint
在androidAPI21以下不起作用,所以需要用app:backgroundTint
代替。
使用此代码效果会更好;
<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" />
您需要添加
android:theme="@style/Theme.AppCompat"
在您正在使用 FloatingActionButton 的 XML_Layout 文件中...
我正在使用:
类路径'com.android.tools.build:gradle:3.3.2'
和
distributionUrl=https://services.gradle.org/distributions/gradle-4.10.1-all.zip
我将 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" />
所有内容都已构建并且 运行 正确。
希望对您有所帮助
确保您在 activity 中声明 FloatingActionButton 的库与用于布局标记的库相同
例如有
导入 com.google.android.material.floatingactionbutton.FloatingActionButton; 在 activity 和
com.google.android.material.floatingactionbutton.FloatingActionButton 作为布局的标签
<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" />
使用这个
<com.google.android.material.floatingactionbutton.FloatingActionButton>
而不是
<android.support.design.widget.FloatingActionButton>
我正在为我的 ExtendedFloatingActionButton 使用 Material Design,当使用 API 24 时,它会使应用程序崩溃。
我尝试将我的 gradle 依赖项更新到最新版本:
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0-alpha02'
但我也没有运气。我的解决方案是添加 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" />
加入
build.gradle(:app)
implementation 'com.google.android.material:material:1.2.0'
在您的 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" />
我的应用崩溃了,因为
Error inflating class android.support.design.widget.FloatingActionButton
这是我在 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" />
这是我的 gradle
compile 'com.android.support:appcompat-v7:23.4.0' // appcompat library
compile 'com.android.support:design:23.4.0'
我的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.access0(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.java: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.access0(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.java:628)
谁能告诉我错在哪里?
试过你的代码,问题出在 23.4.0 库上。
升级到24.+,那个库没有错误。
例如:
implementation 'com.android.support:appcompat-v7:24.2.1' // appcompat library
implementation 'com.android.support:design:24.2.1'
编译版本也要改成24
compileSdkVersion 24
我遇到了同样的问题
我在 Lolipop 之前的版本中遇到了同样的问题,为了解决它,我只是将“android:src”更改为“app” :srcCompat" & 它对我有用。
为了与旧版本兼容,如果您使用矢量图形(作为可绘制资源),您应该使用:
app:srcCompat="@drawable/you_graphics"
而不是:
android:src="@drawable/your_graphics"
低于 API 级别 21 的应用程序版本不支持
app:backgroundTint="@color/green"
或者您可以使用此库来实现更多 material 设计小部件。
编码愉快...
使用
app:backgroundTint
代替
android:backgroundTint
希望它能奏效。
因为android:backgroundTint
在androidAPI21以下不起作用,所以需要用app:backgroundTint
代替。
使用此代码效果会更好;
<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" />
您需要添加
android:theme="@style/Theme.AppCompat"
在您正在使用 FloatingActionButton 的 XML_Layout 文件中...
我正在使用:
类路径'com.android.tools.build:gradle:3.3.2'
和
distributionUrl=https://services.gradle.org/distributions/gradle-4.10.1-all.zip
我将 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" />
所有内容都已构建并且 运行 正确。
希望对您有所帮助
确保您在 activity 中声明 FloatingActionButton 的库与用于布局标记的库相同
例如有
导入 com.google.android.material.floatingactionbutton.FloatingActionButton; 在 activity 和 com.google.android.material.floatingactionbutton.FloatingActionButton 作为布局的标签
<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" />
使用这个
<com.google.android.material.floatingactionbutton.FloatingActionButton>
而不是
<android.support.design.widget.FloatingActionButton>
我正在为我的 ExtendedFloatingActionButton 使用 Material Design,当使用 API 24 时,它会使应用程序崩溃。
我尝试将我的 gradle 依赖项更新到最新版本:
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0-alpha02'
但我也没有运气。我的解决方案是添加 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" />
加入
build.gradle(:app)
implementation 'com.google.android.material:material:1.2.0'
在您的 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" />