2015-10-08 21 views

cevap

5

layout

<android.support.design.widget.FloatingActionButton 
     android:id="@+id/buttton_float" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/ic_action_social_notifications" 
     android:background="@drawable/fab" 
     android:layout_margin="@dimen/fab_margin" 
     android:layout_gravity="bottom|right" 
     app:fabSize="normal" 
     app:backgroundTint="@android:color/white" 
     app:rippleColor="@android:color/black" 
     app:borderWidth="0dp" 
     app:elevation="2dp" 
     app:pressedTranslationZ="12dp"/> 

Not drawable

<?xml version="1.0" encoding="utf-8"?> 

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:innerRadius="0dp" 
    android:shape="ring" 
    android:thicknessRatio="2" 
    android:useLevel="false" > 
    <solid android:color="@android:color/transparent" /> 

    <stroke 
     android:width="3dp" 
     android:color="@android:color/white" /> 
</shape> 

Yüzer Eylem Düğme fab.xml: En FAB için özel tasarım Floating Action Button için Google Malzeme Tasarım yönergelere aykırı

+0

İlk olarak cevap için teşekkürler! Ama ben tam olarak aynı renderlemeyi şeffaf bir yerine siyah bir baground ile elde etmek istiyorum. "Şeffaf" ı "siyah" olarak değiştirdim ve FAB'ımı beyazla doldurdum. Birisi bunun niçin siyah renkle değil şeffaf renkle çalıştığını biliyor mu? – MHogge

+1

deneyin: app: backgroundTint = "@ android: color/black" 'in" android.support.design.widget.FloatingActionButton " –

+0

Ben düz renk ile black için backgroundTint ayarlamak için çalıştım Ben siyah sınırları var şeffaf arka plan ve backgroundTint'i siyahtan çıkardığımda ve düz rengi de siyah olarak ayarladığımda tüm düğmem siyah olur.Ardından backgroundTint'i beyaza ve düz renk ayarını siyah olarak ayarlarsam tüm düğmem beyaz olur. Bu anlaşılmaz bir şey. :/ – MHogge

2

Önce bir .xml şekil kaynak en çok ring.xml diyelim oluşturup: Renk şöyle görünecek şekilde benim düğmesine istiyorum

siyah veya şeffaf iç sınır rengi, beyaz Sen kalınlığı ile oynamak zorunda kalacak ve innerRadius doğru almak niteliklerini

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:innerRadiusRatio="1" 
      android:shape="ring" 
      android:thicknessRatio="1" 
      android:useLevel="false"> 

      <solid android:color="#FFF"/> 
      <stroke 
       android:width="5dp" 
       android:color="#000"/> 
     </shape> 
    </item> 
    <item> 
     <bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
       android:src="@drawable/ic_cast_light"/> 
    </item> 

</layer-list> 

, ama o kadar yapmalıyım: içinde aşağıdaki koymak! Ayrıca bitmap kaynağı sadece bir dolgu, F resminizi buraya koymak istersiniz. Eğer fab beyan nerede

Ardından, sevdiği halka referans:

android:background="@drawable/ring" 

VEYA java kodunda

aşağıdakileri yapın: Bu yardımcı olur

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
fab.setBackgroundResource(R.drawable.ring); 

Umut!

+1

Bildiğim gibi, fab düğmesi ** android: arka plan ** çalışmıyor, ** android: backgroundTint **, sadece arka plan renk değişimi. sağ? –

+3

Ve bu kod T-T çalışmıyor. İlginiz için teşekkürler. –

1

Eğer Float butonu sınırını ayarlamak isterseniz, bunu sadece siz yapın. İlk Sonra xml düzenini dosyasında böyle kullanımdan sonra bir xml dosyası

fab_background.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:innerRadius="0dp" 
    android:shape="ring" 
    android:thicknessRatio="2" 
    android:useLevel="false" > 

    <!--Here if you want to set transparent can set--> 
    <solid android:color="@color/white" /> 

    <!--Here you can set your fab button border color--> 
    <stroke 
     android:width="3dp" 
     android:color="@color/white" /> 
</shape> 

oluşturun.

main_activity.xml

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/rl_content_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/black"> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:padding="5dp" 
     android:background="@drawable/fab_background"> 

     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fab_map" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:elevation="0dp" 
      android:src="@android:drawable/ic_media_play" 
      app:fabSize="normal" 
      app:elevation="0dp"/> 
    </LinearLayout> 

</RelativeLayout> 
+0

Kodunuz gayet iyi çalışıyor ancak önizleme zamanı merkezde gösterilmeyecek, sağ altta boşluk var. –

+0

Lütfen kodunuzu gösterin. – Shailesh

+0

Ben kendim tarafından verilen sabit, bu cevap için teşekkürler. –

İlgili konular