我将举一个例子来证明更重要的一点。
想象一下,我的应用程序有许多FloatingActionButtons。因此,我想创建一个样式并重用它。所以我做了以下几点:
<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>
我遇到的问题是代码没有编译,因为它抱怨
Error:(40, 5) No resource found that matches the given name: attr 'app:backgroundTint'.
我尝试通过resources
标记引入命名空间,但这不起作用
<resources
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
>
我有什么想法可以让它发挥作用吗?
答案 0 :(得分:131)
对于app: namespace
,您无需指定app:<property name>
。只需<property name>
即可。
<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>
和layout_anchorGravity
您需要在XML文件中设置它,您可以在其中定义浮动操作按钮。