Reputation: 737
I would like use a FloatingActionButton on my application, I read this : https://guides.codepath.com/android/Floating-Action-Buttons#google-s-official-support-library but when I run the Activity I have this error :
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 File
<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.+'
}
Upvotes: 44
Views: 70869
Reputation: 2707
For those using AndroidX
Dependency
Along with changing dependencies, XML
must also be changed.
from
<android.support.design.widget.CoordinatorLayout
to
<androidx.coordinatorlayout.widget.CoordinatorLayout
Upvotes: 48
Reputation: 4151
For those using AndroidX Dependency. In your xml files make sure all your
android.support.???
nodes inside CoordinatorLayout's (like included ActionBars) are also replaced with
androidx.??? (or com.google.android.???)
ones .
Upvotes: 0
Reputation: 2233
You need to add in your app's build gradle the following support library.
compile 'com.android.support:design:23.0.1'
that was last year, now the latest version is
compile 'com.android.support:design:27.0.2'
Upvotes: 1
Reputation: 3878
For me, I came across this error when using a mix of androidx
and android.support.v7
libraries.
See my solution for that version of this error here: https://stackoverflow.com/a/52490825/1762493
Upvotes: 0
Reputation: 421
Add these dependencies into your gradle file. This may solve the problem in some cases.
dependencies {
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
...
}
Upvotes: 4
Reputation: 8541
(supports Android API 7 to 22+)
Android.Support.V7.App.AppCompatActivity
Your used style has to be derived from a Theme.AppCompat.*
style. So your Resources\values\styles.xml
should look like this:
<?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>
Also make sure you actually use the theme in your AndroidManifest.xml
<application android:theme="@style/YourAppTheme"></application>
Upvotes: 3
Reputation: 102
It worked for me
Disable Instant Run
File => Settings => Build, Execution, Deployment => Instant Run
Upvotes: -1
Reputation: 18719
You have to include the support libraries.
Upvotes: 6
Reputation: 626
Please put compile 'com.android.support:design:23.0.1'
inside your project build.gradle file
Upvotes: 18
Reputation: 309
Just use this line in FloatingActionButton (app
instead of android
):
app:backgroundTint="@color/colorAccent"
Upvotes: 26
Reputation: 1647
needed both:
extend AppCompatActivity instead of FragmentActivity
public class MyActivity extends AppCompatActivity
parent of used style (/res/values/styles.xml)
<style name="MyStyle" parent="Theme.AppCompat">
additionally:
define colors in styles.xml
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
Upvotes: 4
Reputation: 368
I had the same error. Just change the project parent theme to
<style name="Base.AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
or any other Theme.AppCompat*
Upvotes: 16
Reputation: 554
Please change it into AppCompatActivity if you use Activity. Probably it becomes the error when it is Activity.
Upvotes: 42