サポートライブラリ22.2.0からフローティングアクションボタンの色を変更する方法を教えてください。私はもう試した
button.setBackgroundColor(color);
しかし、明らかに、これによりボタンのドロウアブルが変更され、正方形に変わります。
今、私は形に触れることなく、色だけでなく色を変更する方法を疑問に思いますか?
前もって感謝します
遅れるかもしれませんが、助けることができます。
fab.setBackgroundTintList(ColorStateList.valueOf(Color
.parseColor("#33691E")));
そして、色のリストから実際の色コードを解析します ここで見つけることができます
ColorStateList
を作成し、背景色として設定します。
button.setBackgroundTintList(new ColorStateList(new int[][]{new int[]{0}}, new int[]{color}));
あなたは使わなければなりません
attribute app:backgroundTint
を含むXMLcolors.xml
(この場合はR.color.purple
)でカラーリソースを作成し、次のように使用します。
floatingActionButton.setBackgroundTintList(getResources().getColorStateList(R.color.purple));
方法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/
これを後方互換性で行うには:
DrawableCompat.setTintList(DrawableCompat.wrap(fab.getDrawable()), tintColor); // <- icon
DrawableCompat.setTintList(DrawableCompat.wrap(fab.getBackground()), backgroundTintColor); // <- background
ここで受け入れられた答えを確認してください: Androidのフローティングアクションボタンの色の変更
色を変更したい場合
- 属性付きのXMLapp:backgroundTint
- コードで。setBackgroundTintList
属性名はbackgroundTint
です
という名前の関数があると思います
button.setBackgroundTint(color)
https://github.com/Clans/FloatingActionButton のフローティングアクションボタンライブラリを使用している場合は、これを使用します
fab.setColorNormal(getResources().getColor(R.color.fab_color1));
このコードを試してください。バックグラウンドリソースに色合いを追加します。
button.setBackgroundTintList(getResources().getColorStateList(R.color.yourColor));
フローティングアクションボタンの下のXMLファイルでこの行を使用してください
Android:backgroundTint="#96989A"