Vou dar um exemplo para demonstrar o ponto principal.
Imagine que meu aplicativo tenha vários FloatingActionButtons. Conseqüentemente, desejo criar um estilo e reutilizá-lo. Então, eu faço o seguinte:
<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>
O problema que estou tendo é que o código não está compilando porque está reclamando
Error:(40, 5) No resource found that matches the given name: attr 'app:backgroundTint'.
Eu tentei trazer o namespace por meio da resources
tag, mas não está funcionando
<resources
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
>
Alguma ideia de como posso fazer isso funcionar?
android
android-layout
android-theme
android-styles
Nouvel Travay
fonte
fonte
Respostas:
Para
app
namespace, você não precisa especificarapp:<property name>
. Apenas<property name>
é suficiente.Por exemplo
E para
layout_anchorGravity
você precisa configurá-lo no arquivo XML onde você está definindo o botão de ação flutuante.fonte
layout_anchorGravity
na página de estilo. Funciona como<item name="layout_anchorGravity">end|bottom</item>
layout_anchor
. +1!