wake-up-neo.com

Verwenden Sie den App-Namespace mit Stil

Ich werde ein Beispiel geben, um den größeren Punkt zu demonstrieren.

Stellen Sie sich vor, meine App verfügt über eine Reihe von FloatingActionButtons. Folglich möchte ich einen Stil erstellen und ihn wiederverwenden. Also mache ich folgendes:

<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>

Das Problem, das ich habe, ist, dass der Code nicht kompiliert wird, weil er sich über beschwert

Error:(40, 5) No resource found that matches the given name: attr 'app:backgroundTint'.

Ich habe versucht, den Namespace über das Tag resources einzufügen, aber das funktioniert nicht

<resources
    xmlns:app="http://schemas.Android.com/apk/res-auto"
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    >

Irgendwelche Ideen, wie ich das zum Laufen bringen könnte?

72
Nouvel Travay

Für app: namespace Müssen Sie nicht app:<property name> Angeben. Nur <property name> Ist genug.

beispielsweise

<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>

und für layout_anchorGravity müssen Sie es in der XML-Datei festlegen, in der Sie die schwebende Aktionsschaltfläche definieren.

157
dex