我想知道如何从Support库22.2.0更改浮动操作按钮的颜色?
我已经尝试过。
button.setBackgroundColor(color);
但是显然,这会改变按钮的可绘制性并将其变成正方形。
现在我想知道如何只更改颜色而不触及形状?
谢谢提前。
button.setBackgroundColor(color);
但是显然,这会改变按钮的可绘制性并将其变成正方形。
现在我想知道如何只更改颜色而不触及形状?
谢谢提前。
也许晚了一些,但可能会有帮助。
fab.setBackgroundTintList(ColorStateList.valueOf(Color
.parseColor("#33691E")));
从这里的颜色列表中解析实际的颜色代码。
fab.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(getActivity(), R.color.white)));
- Shahbaz SheikhColorStateList
并将其设置为背景色调:button.setBackgroundTintList(new ColorStateList(new int[][]{new int[]{0}}, new int[]{color}));
ColorStateList.valueOf(color)
,来源:https://dev59.com/y10Z5IYBdhLWcg3w3Dfk#32031019 - iceman为了实现向后兼容:
DrawableCompat.setTintList(DrawableCompat.wrap(fab.getDrawable()), tintColor); // <- icon
DrawableCompat.setTintList(DrawableCompat.wrap(fab.getBackground()), backgroundTintColor); // <- background
colors.xml
中创建一个颜色资源(在此示例中为R.color.purple
),并像这样使用它:floatingActionButton.setBackgroundTintList(getResources().getColorStateList(R.color.purple));
方法一:通过xml更改浮动操作栏(fab)颜色:
要更改浮动操作栏(fab)的颜色,请按照以下步骤进行:
只需在浮动操作栏(fab)的xml中添加“app:backgroundTint="#colorcode"”,即可更改其颜色。例如:
app:backgroundTint="#8393ca"
在 #8393ca 的位置添加任何你想要的颜色代码
使用示例:
<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/
本文讲述如何在Android应用程序的布局中更改Floating Action Button与Action Bar的颜色。您可以通过调整样式文件中的属性来实现。这篇文章详细介绍了如何使用 Android Studio 来更新样式文件,以及需要更改哪些属性。请在这里查看被接受的答案:Android changing Floating Action Button color
如果您想要改变颜色,则可以采用以下方式:
- 使用属性app:backgroundTint在XML中
- 通过.setBackgroundTintList在代码中实现
app
命名空间吗? - Louis CADColorStateList
,然后在代码中使用setEnabled(isNfcEnabled)
来让它使用您的ColorStateList
xml文件中的正确颜色。 - Louis CADCheckedTextView
源代码,使您的 FAB 子类具有您将在 ColorStateList
中使用的 checked
状态。然后,当 NFC 打开或关闭时,您只需通过编程方式更改 FAB 的选中状态,可能使用 setChecked(...)
方法即可。 - Louis CADbutton.setBackgroundTintList(getResources().getColorStateList(R.color.yourColor));
fab.setColorNormal(getResources().getColor(R.color.fab_color1));
backgroundTint
。button.setBackgroundTint(color)