web-dev-qa-db-ja.com

Appcompat 22.2.0からプログラムでフローティングアクションボタンの色を変更する

サポートライブラリ22.2.0からフローティングアクションボタンの色を変更する方法を教えてください。私はもう試した

button.setBackgroundColor(color);

しかし、明らかに、これによりボタンのドロウアブルが変更され、正方形に変わります。

今、私は形に触れることなく、色だけでなく色を変更する方法を疑問に思いますか?

前もって感謝します

23
user2410644

遅れるかもしれませんが、助けることができます。

 fab.setBackgroundTintList(ColorStateList.valueOf(Color
                    .parseColor("#33691E")));

そして、色のリストから実際の色コードを解析します ここで見つけることができます

34
Olu Smith

ColorStateListを作成し、背景色として設定します。

button.setBackgroundTintList(new ColorStateList(new int[][]{new int[]{0}}, new int[]{color}));
31
tachyonflux

あなたは使わなければなりません

  • attribute app:backgroundTintを含むXML
  • .setBackgroundTintListを使用したコードでこの答えを読んでください

Androidのフローティングアクションボタンの色の変更

11
Saeed Darvish

colors.xml(この場合はR.color.purple)でカラーリソースを作成し、次のように使用します。

floatingActionButton.setBackgroundTintList(getResources().getColorStateList(R.color.purple));
10
Adam Johns

方法1:xmlのフローティングアクションバー(fab)の色を変更する:

フローティングアクションバー(ファブ)の色を変更するには、次の手順に従います。

フローティングアクションbar(fab)のxmlに "app:backgroundTint ="#colorcode ""を追加するだけです。たとえば、

app:backgroundTint="#8393ca"

#8393caの場所に、必要なカラーコードを追加します

Usaage ..としての例.

<Android.support.design.widget.FloatingActionButton
    Android:id="@+id/fab"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_gravity="bottom|end"
    Android:layout_margin="@dimen/fab_margin"
    app:backgroundTint="#8393ca"
    Android:src="@drawable/send" />

方法2:フローティングアクションバーの色をプログラムで変更する

コードにこの行を追加するだけです

まず、values => colorsに赤色を作成し、作成時にアクティビティにこのコードを追加します

fab.setBackgroundTintList(getResources().getColorStateList(R.color.red));

                                or

fab.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#33691E")));

クレジット: http://androidrace.com/2016/12/12/how-to-change-fabfloating-action-bar-color-Android/

9

これを後方互換性で行うには:

DrawableCompat.setTintList(DrawableCompat.wrap(fab.getDrawable()), tintColor); // <- icon
DrawableCompat.setTintList(DrawableCompat.wrap(fab.getBackground()), backgroundTintColor); // <- background
8
Ralph Pina

ここで受け入れられた答えを確認してください: Androidのフローティングアクションボタンの色の変更

色を変更したい場合

  • 属性付きのXMLapp:backgroundTint
  • コードで。setBackgroundTintList
6
Louis CAD

属性名はbackgroundTintです

という名前の関数があると思います

button.setBackgroundTint(color)

1

https://github.com/Clans/FloatingActionButton のフローティングアクションボタンライブラリを使用している場合は、これを使用します

fab.setColorNormal(getResources().getColor(R.color.fab_color1));
1
Maurice

このコードを試してください。バックグラウンドリソースに色合いを追加します。

button.setBackgroundTintList(getResources().getColorStateList(R.color.yourColor));
1
Ankit Suda

フローティングアクションボタンの下のXMLファイルでこの行を使用してください

Android:backgroundTint="#96989A"
0
Makvin