Chcę zmienić kolor obramowania przycisku fab. granica kolor jest biały, wewnątrz kolor jest czarny lub przezroczystyJak zmienić bibliotekę obsługi projektu Android Kolor paska przycisków FAB?
Chciałbym mój przycisk, aby wyglądać tak:
Chcę zmienić kolor obramowania przycisku fab. granica kolor jest biały, wewnątrz kolor jest czarny lub przezroczystyJak zmienić bibliotekę obsługi projektu Android Kolor paska przycisków FAB?
Chciałbym mój przycisk, aby wyglądać tak:
fab.xml w 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>
Pływający przycisk akcji w 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"/>
Uwaga: Zwyczaj projekt dla FAB jest niezgodne z wytycznymi Google Material Design dla Floating Action Button
Po pierwsze dziękuję za odpowiedź! Ale chcę osiągnąć dokładnie to samo renderowanie z czarną kulą zamiast przezroczystą. Właśnie zmieniłem "przezroczysty" na "czarny" i wypełniłem moje FAB-em białym. Czy ktoś wie, dlaczego działa z przezroczystym kolorem, ale nie z czarnym kolorem? – MHogge
spróbuj 'app: backgroundTint =" @ android: kolor/czarny "' w 'android.support.design.widget.FloatingActionButton' –
Próbowałem ustawić backgroundTint na czarny z jednolitym kolorem na przezroczysty Mam czarne granice z przezroczyste tło i kiedy zostawiam BackgroundTint na czarno i ustawię stały kolor na czarny, mój cały przycisk stanie się czarny.Następnie, jeśli ustawię backgroundTint na biały, a jednolity kolor na czarny, cały mój przycisk zmieni kolor na biały. to jest niezrozumiałe. :/ – MHogge
najpierw utworzyć zasób kształt .xml nazwijmy to ring.xml i umieścić w nim następujące:
<?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>
będziesz musiał grać z grubością i innerRadius atrybuty, aby uzyskać to prawo, ale powinien to zrobić! Również źródło bitmapy jest tylko wypełniaczem, chcesz umieścić tam swój obraz F.
Następnie, w którym deklarują swoje fab, odwołać swój pierścień takich jak:
android:background="@drawable/ring"
W kodzie java, wykonaj następujące czynności:
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setBackgroundResource(R.drawable.ring);
nadzieję, że to pomaga!
Jak mi wiadomo, przycisk fab ** android: tło ** nie działa, ** android: backgroundTint ** to super tło tylko zmiana koloru. dobrze? –
I ten kod nie działa T-T. Dziękuję za zainteresowanie. –
Jeśli chcesz ustawić obramowanie przycisku Float, po prostu rób to. Najpierw utworzyć jeden plik xml
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>
Następnie po użyciu takiego w pliku XML szablonu.
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>
Twój kod działa poprawnie, ale czas jego podglądu nie pojawi się w środku, ma miejsce na prawym dole. –
proszę, pokaż mi swój kod. – Shailesh
Naprawiłem to samemu, dziękuję za tę odpowiedź. –
Można użyć 'VectorDrawable'. –