InflateException con FloatingActionButton de Official Design Library

Estoy obteniendo un error usando el FloatingActionButton oficial de la biblioteca de diseño de soporte de Google.

Aquí está mi LogCat.

 android.view.InflateException: Binary XML file line #34: Error inflating class android.support.design.widget.FloatingActionButton at android.view.LayoutInflater.createView(LayoutInflater.java:633) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method) at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:655) at android.view.LayoutInflater.inflate(Unknown Source) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at ---.---.com.---.SubCategoryFragment.onCreateView(SubCategoryFragment.java:47) at android.support.v4.app.Fragment.performCreateView(Fragment.java:1789) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:955) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501) at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:458) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:117) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at android.view.LayoutInflater.createView(LayoutInflater.java:607) ... 24 more Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.drawable.Drawable android.graphics.drawable.Drawable$ConstantState.newDrawable()' on a null object reference at android.graphics.drawable.LayerDrawable$ChildDrawable.(LayerDrawable.java:968) at android.graphics.drawable.LayerDrawable$LayerState.(LayerDrawable.java:1014) at android.graphics.drawable.RippleDrawable$RippleState.(RippleDrawable.java:910) at android.graphics.drawable.RippleDrawable.createConstantState(RippleDrawable.java:901) at android.graphics.drawable.RippleDrawable.createConstantState(RippleDrawable.java:90) at android.graphics.drawable.LayerDrawable.mutate(LayerDrawable.java:932) at android.graphics.drawable.RippleDrawable.mutate(RippleDrawable.java:891) at android.view.View.applyBackgroundTint(View.java:16324) at android.view.View.setBackgroundDrawable(View.java:16193) at android.support.design.widget.FloatingActionButton.access$201(FloatingActionButton.java:56) at android.support.design.widget.FloatingActionButton$1.setBackgroundDrawable(FloatingActionButton.java:118) at android.support.design.widget.FloatingActionButtonLollipop.setBackgroundDrawable(FloatingActionButtonLollipop.java:75) at android.support.design.widget.FloatingActionButton.(FloatingActionButton.java:131) at android.support.design.widget.FloatingActionButton.(FloatingActionButton.java:79) ... 27 more 

La única línea que apunta a mi aplicación es donde se infla el archivo xml y la línea en ese archivo que es mi FloatingActionButton .

   

Información extra:

Aquí está el tema de mi aplicación:

    @color/primary @color/primaryDark @color/accent @null   false   

Sí, estoy usando una AppCompatActivity .

Me di cuenta de que estoy usando una versión anterior de appcompat:

 com.android.support:appcompat-v7:22.1.1 

Esto parece estar actualizado:

 compile 'com.android.support:design:22.2.0' 

También,

 minSdkVersion 16 targetSdkVersion 22 

Ahora, establezco la Visibilidad en GONE en algún caso para mi FAB, pero esto es después de que se infla así que ese no puede ser el problema.

Ahora, esto funciona con mi dispositivo 5.1, pero los usuarios que tienen problemas tienen 5.0.

¿Es este un error conocido o quizás estoy haciendo algo mal?

com.android.support:appcompat-v7:21+ agregó soporte para polarizar widgets en dispositivos que ejecutan pre android 5.1 (nivel de API 21). Para utilizarlo, asegúrese de ampliar o configurar el tema de AppCompat y utilizar la app:backgroundTint lugar de android:backgroundTint .

Ejemplo:

  

Simplemente reemplace

  

a

  

Si está utilizando un VectorDrawableCompat (activo Vector) debe usar:

 app:srcCompat="@drawable/x" 

en lugar de:

 android:src="@drawable/x" 

Tuve el mismo problema e intenté una solución diferente. Pero el que funcionó para mí fue asegurar que las versiones de la biblioteca de compatibilidad de aplicaciones y diseños sean las mismas. por ejemplo:

 compile 'com.android.support:appcompat-v7:23.2.0' compile 'com.android.support:design:23.2.0' 

Otra forma de obtener este mensaje es si accidentalmente especificó diferentes versiones de la biblioteca appcompat en diferentes módulos. Es probable que esto ocurra cuando crea un nuevo módulo, ya que Android Studio se establece de manera predeterminada en la versión más reciente.

Para una forma ordenada de gestionar esto en proyectos de varios módulos, consulte: En Gradle, ¿cómo declaro las dependencias comunes en un solo lugar?