web-dev-qa-db-ja.com

クラスを膨らませるエラーAndroid.support.design.widget.FloatingActionButton

アプリがクラッシュしたのは

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" />

ここに私のグラドルがあります

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

私のlogcat

致命的な例外:メインプロセス:com.cyanlabsid.cetakphoto、PID:15298 Java.lang.RuntimeException:アクティビティを開始できませんComponentInfo {com.cyanlabsid.cetakphoto/com.cyanlabsid.cetakphoto.PhotoPicker}:Android.view.InflateException:Binary XMLファイル行#76:バイナリXMLファイル行#76:Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2423)at Android.app.ActivityThread.handleLaunchActivity(ActivityThread。 Java:2483)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)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 va:628)原因: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)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)Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1108)at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2376)at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2483) Android.appのAndroid.app.ActivityThread.access $ 900(ActivityThread.Java:153) .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.Java:628)

誰かが私のせいを教えてもらえますか?

29
Vanya Rachel

コードを試してみましたが、問題は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
13
Dus

つかいます

app:backgroundTint

の代わりに

Android:backgroundTint

それがうまくいくことを願っています。

51
Juboraj Sarker

Android:backgroundTintはAndroid AP​​I 21の下では機能しないため、代わりにapp:backgroundTintを使用する必要があります。

20

APIレベル21以下のアプリバージョンは、

app:backgroundTint="@color/green"

または、このライブラリを使用して、より多くのマテリアルデザインウィジェットを実現できます。

https://github.com/navasmdc/MaterialDesignLibrary

ハッピーコーディング...

12
Ashana.Jackol

同じ問題がありました

Pre-Lolipopバージョンで同じ問題に直面し、それを解決するために、「Android:src」から「app:srcCompat」に変更しました。

古いバージョンとの互換性を確保し、ベクターグラフィックス(描画可能なアセットとして)を使用している場合は、次を使用する必要があります。

app:srcCompat="@drawable/you_graphics"

の代わりに:

Android:src="@drawable/your_graphics"
9
Ravee Sunshine

追加する必要があります

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

floatingActionButtonを使用しているXML_Layoutファイルで...

5
Muhammad Aamir

私は使っている:

クラスパス '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" />

そしてすべてが正しく構築され実行されました。

これが役立つことを願っています

3
user330844

アクティビティでFloatingActionButtonを宣言したライブラリが、レイアウトマークアップに使用したライブラリと同じであることを確認してください

たとえば

import com.google.Android.material.floatingactionbutton.FloatingActionButton;アクティビティおよびcom.google.Android.material.floatingactionbutton.FloatingActionButtonレイアウトのタグとして

1
Rachid Rajjys

このコードを使用すると、動作が向上します。

<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" />
1
Pradeep Sheoran