Uygulama ad alanını şık bir şekilde kullanma


105

Daha büyük noktayı göstermek için bir örnek vereceğim.

Uygulamamın bir dizi FloatingActionButtons olduğunu hayal edin. Sonuç olarak, bir stil yaratmak ve onu yeniden kullanmak istiyorum. Bu yüzden aşağıdakileri yapıyorum:

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

Yaşadığım sorun, kodun şikayetçi olduğu için derlenmemesi.

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

Ad alanını resourcesetiket aracılığıyla getirmeyi denedim ama bu işe yaramıyor

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

Bunu nasıl çalıştırabileceğime dair bir fikrin var mı?


Yanıtlar:


232

Ad appalanı için belirtmenize gerek yoktur app:<property name>. Sadece <property name>yeterlidir.

Örneğin

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

Ve layout_anchorGravityKayan işlem düğmesini tanımladığınız XML dosyasında ayarlamanız gerekir.


Harika! yardım için teşekkürler. Küçük düzeltme: layout_anchorGravitystil sayfasında da tanımlayabilirsiniz . Şu şekilde çalışır<item name="layout_anchorGravity">end|bottom</item>
Nouvel Travay

günü kurtardın! Ve yerel olarak tanımlanacak olanıdır layout_anchor. +1!
Nouvel Travay
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.