Je vais donner un exemple pour démontrer le plus grand point.
Imaginez que mon application dispose d'un certain nombre de FloatingActionButtons. Par conséquent, je souhaite 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 j'ai, c'est que le code ne se compile pas car il se plaint de
Error:(40, 5) No resource found that matches the given name: attr 'app:backgroundTint'.
J'ai essayé d'introduire l'espace de noms via la resources
balise 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 sur la façon dont je pourrais faire fonctionner cela?
android
android-layout
android-theme
android-styles
Nouvel Travay
la source
la source
Réponses:
Pour l'
app
espace de noms, vous n'avez pas besoin de spécifierapp:<property name>
. C'est juste<property name>
assez.Par exemple
Et pour
layout_anchorGravity
vous devez le définir dans un fichier XML où vous définissez le bouton d'action flottant.la source
layout_anchorGravity
sur la page de style. Il fonctionne comme<item name="layout_anchorGravity">end|bottom</item>
layout_anchor
. +1!