web-dev-qa-db-ja.com

FABの背景色を変更する方法

フローティングアクションボタンを使用していますが、背景色を変更したいです。

ここに私のコードがあります

    <Android.support.design.widget.FloatingActionButton
        Android:id="@+id/btnfab"
        Android:layout_width="48dp"
        Android:layout_height="48dp"
        Android:layout_alignParentBottom="true"
        Android:layout_alignParentEnd="true"
        Android:layout_alignParentRight="true"
        Android:layout_gravity="right|center_vertical"
        Android:layout_marginBottom="20dp"
        Android:src="@drawable/search" />

これを実現するために使用しているコードは次のとおりです。

1- Android:background="@color/mycolor"
2- Android:backgroundTint="@color/white"

画像に示すように、FABにもコーナーがあります。これらの角の影を削除するにはどうすればよいですか?

enter image description here

22
Ritesh

この属性をFloatingActionButtonに追加すると、問題のあるシャドウを削除できます。

app:borderWidth="0dp"
app:elevation="6dp"

FloatingActionButtonには背景色はありません。このコンポーネントの色を変更するには:

app:backgroundTint="@color/YOURCOLOR"

親レイアウトに次の行があることを忘れないでください。

xmlns:app="http://schemas.Android.com/apk/res-auto"
34
Damian Kozlak

アプリスタイルでフォローを宣言します。

<item name="colorAccent">@color/yourColor</ item> 

乾杯

9
nikk

AndroidサポートとAndroid build.gradle

(上記のbuild.gradleファイルを追加してください)

これらのサイトによると:

および Android Developers reference のみを使用する必要があります:

   Android:backgroundTint="@color/white"

私が覚えているように、この影はフローティングアクションボタンのよく知られた問題なので、これらの追加のライブラリを見てください。

http://Android-arsenal.com/tag/17

この壊れた要素を置き換えるのに役立つかもしれません。

以下も確認してください:

お役に立てば幸いです。

6
piotrek1543

まず、styles.xmlでスタイルを作成します。

<style name="PrimaryActionButton" parent="Theme.AppCompat.Light">
<item name="colorAccent">@color/colorPrimary</item>
</style>

次に、ファブのテーマをこのスタイルに設定します。

<Android.support.design.widget.FloatingActionButton
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/ic_favorite_white_24dp"
Android:theme="@style/PrimaryActionButton"
app:fabSize="normal"
app:rippleColor="@color/colorAccent" />

完全な説明は次で確認できます: Android:Floating Action button

4
AK 12