私のアプリケーションでFloatingActionButtonを使用したいので、これを読みます: https://guides.codepath.com/Android/Floating-Action-Buttons#google-s-official-support-library but when私はこのエラーがあるアクティビティを実行します:
Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xavier_laffargue.podcast/com.xavier_laffargue.podcast.ACT_Test}: Android.view.InflateException: Binary XML file line #1: Error inflating class Android.support.design.widget.CoordinatorLayout
XMLファイル
<Android.support.design.widget.CoordinatorLayout
Android:id="@+id/main_content"
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<ListView
Android:id="@+id/lvToDoList"
Android:layout_width="match_parent"
Android:layout_height="match_parent"></ListView>
<Android.support.design.widget.FloatingActionButton
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="bottom|right"
Android:layout_margin="24dp"
Android:src="@drawable/ic_action_refresh"
app:layout_anchor="@id/lvToDoList"
app:layout_anchorGravity="bottom|right|end" />
</Android.support.design.widget.CoordinatorLayout>
Graddle
*apply plugin: 'com.Android.application'
Android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.xavier_laffargue.podcast"
minSdkVersion 21
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:22.2.0'
compile 'com.Android.support:support-v4:22.2.0'
compile 'com.Android.support:design:22.2.0'
compile 'com.Android.support:multidex:1.0.1'
compile 'com.Android.support:support-v13:22.2.0'
compile 'com.Android.support:cardview-v7:21.0.+'
compile 'com.Android.support:recyclerview-v7:21.0.+'
}
Activityを使用する場合は、AppCompatActivityに変更してください。アクティビティの場合はおそらくエラーになります。
FloatingActionButtonで次の行を使用します(app
の代わりにAndroid
):
app:backgroundTint="@color/colorAccent"
compile 'com.Android.support:design:23.0.1'
プロジェクトbuild.gradleファイル内
同じエラーが発生しました。プロジェクトの親テーマを変更するだけです
<style name="Base.AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
またはその他のTheme.AppCompat *
AndroidX Dependencyを使用している場合
依存関係の変更に加えて、[〜#〜] xml [〜#〜]も変更する必要があります。
from
<Android.support.design.widget.CoordinatorLayout
to
<androidx.coordinatorlayout.widget.CoordinatorLayout
両方が必要:
fragmentActivityの代わりにAppCompatActivityを拡張します
public class MyActivity extends AppCompatActivity
使用されているスタイルの親(/res/values/styles.xml)
<style name="MyStyle" parent="Theme.AppCompat">
さらに:
styles.xmlで色を定義する
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
これらの依存関係をgradleファイルに追加します。これにより、問題が解決する場合があります。
dependencies {
compile 'com.Android.support:appcompat-v7:23.1.1'
compile 'com.Android.support:design:23.1.1'
...
}
(supports Android API 7 to 22 +)
Android.Support.V7.App.AppCompatActivity
から派生する必要があります使用するスタイルは、Theme.AppCompat.*
スタイルから派生する必要があります。したがって、Resources\values\styles.xml
は次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="YourAppTheme" parent="Theme.AppCompat">
<item name="colorPrimaryDark">#AB000D</item>
<item name="colorPrimary">#E53935</item>
<item name="colorAccent">#00B8D4</item>
</style>
<!-- other styles... -->
</resources>
また、AndroidManifest.xml
で実際にテーマを使用していることを確認してください
<application Android:theme="@style/YourAppTheme"></application>
アプリのビルドグラドルに次のサポートライブラリを追加する必要があります。
compile 'com.Android.support:design:23.0.1'
それは昨年でしたが、現在の最新バージョンは
compile 'com.Android.support:design:27.0.2'
AndroidX依存関係を使用している場合。 xmlファイルで、すべての
Android.support.???
coordinatorLayoutのノード(含まれるActionBarなど)も次のように置き換えられます。
androidx.??? (or com.google.Android.???)
もの。
私にとっては、androidx
とAndroid.support.v7
ライブラリ。
このバージョンのエラーについては、こちらのソリューションを参照してください: https://stackoverflow.com/a/52490825/176249