Ответ 1
Возможно, поздно, но может помочь.
fab.setBackgroundTintList(ColorStateList.valueOf(Color
.parseColor("#33691E")));
и проанализируйте фактический цветовой код из списка цветов Здесь вы можете найти
Я хотел бы знать, как изменить цвет кнопки Floating Action в библиотеке поддержки 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
Создайте ресурс цвета в colors.xml
(R.color.purple
в этом случае) и используйте его так:
floatingActionButton.setBackgroundTintList(getResources().getColorStateList(R.color.purple));
Метод 1: изменение цвета плавающей панели действий (fab) в xml:
Чтобы изменить цвет плавающей панели действий (fab), просто выполните этот шаг
просто добавьте "app: backgroundTint =" # colorcode "в xml плавающей панели действий (fab).. Например
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: программно изменить цвет плавающей панели действий
просто добавьте эту строку в свой код
Сначала создайте красный цвет в ваших значениях = > цвета, затем добавьте этот код в свою активность, создайте
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 Android
Если вы хотите изменить цвет
- в XML с атрибутом app: 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"
Фон XML: цвет оттенка будет всегда перекрывать любой заданный вами цвет.
программно. Поэтому для придания цвета программным способом удалите строку android:backgroundTint="#96989A"
из файла XML и используйте:
button.setBackgroundTintList(getResources().getColorStateList(R.color.yourColor));
Если вы используете Xamarin для Android-приложения, попробуйте ниже код
FloatingActionButton fa = root.FindViewById<FloatingActionButton>(Resource.Id.fabback);
Android.Content.Res.ColorStateList csl = new Android.Content.Res.ColorStateList(new int[][] { new int[0] }, new int[]{Android.Graphics.Color.ParseColor("#000000") });
fab.BackgroundTintList= csl;
"# 000000", используемый для черного цвета, вы можете изменить в соответствии с вашими требованиями.