Menggunakan ruang nama Aplikasi dengan gaya


103

Saya akan memberikan contoh untuk mendemonstrasikan poin yang lebih besar.

Bayangkan aplikasi saya memiliki sejumlah FloatingActionButtons. Akibatnya, saya ingin membuat satu gaya dan menggunakannya kembali. Jadi saya melakukan hal berikut:

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

Masalah yang saya alami adalah bahwa kode tidak dapat dikompilasi karena dikeluhkan

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

Saya mencoba memasukkan namespace melalui resourcestag tetapi tidak berhasil

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

Ada ide bagaimana saya bisa membuat ini bekerja?


Jawaban:


229

Untuk appnamespace Anda tidak perlu menentukan app:<property name>. Hanya <property name>cukup.

Sebagai contoh

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

Dan untuk layout_anchorGravityAnda perlu mengaturnya dalam file XML di mana Anda mendefinisikan tombol aksi Mengambang.


Hebat! terima kasih telah membantu. Koreksi kecil: Anda juga dapat menentukan layout_anchorGravitypada halaman gaya. Ini berfungsi sebagai<item name="layout_anchorGravity">end|bottom</item>
Nouvel Travay

Anda menyelamatkan hari itu! Dan yang harus didefinisikan secara lokal adalah layout_anchor. +1!
Nouvel Travay
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.