I am going to give an example to demonstrate the greater point.
Imagine my app has a number of FloatingActionButtons. Consequently, I want to create one style and reuse it. So I do the following:
<style name="FabStyle” parent ="Widget.Design.FloatingActionButton">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_margin">16dp</item>
<item name="app:backgroundTint">@color/accent</item>
<item name="app:layout_anchorGravity">end|bottom</item>
</style>
The problem I am having is that the code is not compiling because it is complaining about
Error:(40, 5) No resource found that matches the given name: attr 'app:backgroundTint'.
I tried bringing the namespace in through the resources
tag but that is not working
<resources
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
>
Any ideas how I might get this to work?
For app
namespace you don't need to specify app:<property name>
. Just <property name>
is enough.
<style name="FabStyle" parent="Widget.Design.FloatingActionButton">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_margin">16dp</item>
<item name="backgroundTint">@color/accent</item>
<item name="layout_anchorGravity">end|bottom</item>
</style>
And for layout_anchorGravity
you need to set it in XML file where you are defining Floating action button.