スタイルでApp名前空間を使用する


103

より大きなポイントを示すために例を挙げます。

アプリに多数のFloatingActionButtonsがあるとします。したがって、1つのスタイルを作成して再利用したいと考えています。だから私は次のことをします:

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

これを機能させる方法はありますか?


回答:


228

以下のためにapp、名前空間、あなたは指定する必要はありません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ファイルに設定する必要があります。


驚くばかり!助けてくれてありがとう。細かい修正:layout_anchorGravityスタイルページでも定義できます。動作します<item name="layout_anchorGravity">end|bottom</item>
Nouvel Travay

あなたはその日を救った!そして、ローカルに定義されるのはlayout_anchorです。+1!
Nouvel Travay 16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.