Je vais donner un exemple pour démontrer le plus grand point.
Imaginez que mon application comporte un certain nombre de boutons FloatingAction. Par conséquent, je veux créer un style et le réutiliser. Alors je fais ce qui suit:
<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>
Le problème que je rencontre est que le code n’est pas compilé car il se plaint de
Error:(40, 5) No resource found that matches the given name: attr 'app:backgroundTint'.
J'ai essayé d'amener l'espace de noms via la balise resources
mais cela ne fonctionne pas
<resources
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:Android="http://schemas.Android.com/apk/res/Android"
>
Des idées comment je pourrais obtenir ceci pour fonctionner?
Pour app: namespace
vous n'avez pas besoin de spécifier app:<property name>
. Juste <property name>
est assez.
<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>
et pour layout_anchorGravity
vous devez le définir dans un fichier XML dans lequel vous définissez le bouton d'action flottante.