Podam przykład, aby zademonstrować większy punkt.
Wyobraź sobie, że moja aplikacja ma wiele FloatingActionButtons. W związku z tym chcę stworzyć jeden styl i użyć go ponownie. Więc robię co następuje:
<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>
Problem, który mam, polega na tym, że kod nie kompiluje się, ponieważ narzeka
Error:(40, 5) No resource found that matches the given name: attr 'app:backgroundTint'.
Próbowałem wprowadzić przestrzeń nazw przez resources
tag, ale to nie działa
<resources
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
>
Jakieś pomysły, jak mogę to uruchomić?
android
android-layout
android-theme
android-styles
Nouvel Travay
źródło
źródło
Odpowiedzi:
W przypadku
app
przestrzeni nazw nie musisz określaćapp:<property name>
. Po prostu<property name>
wystarczy.Na przykład
A ponieważ
layout_anchorGravity
musisz ustawić to w pliku XML, w którym definiujesz pływający przycisk akcji.źródło
layout_anchorGravity
na stronie stylu. Działa jako<item name="layout_anchorGravity">end|bottom</item>
layout_anchor
. +1!