java - icon - floatingactionbutton color
Cambie el color del botón de acción flotante desde Appcompat 22.2.0 programáticamente (12)
Me gustaría saber cómo cambiar el color del botón de acción flotante en la biblioteca de soporte 22.2.0. He intentado
button.setBackgroundColor(color);
pero claramente, esto cambia el dibujo del botón y se convierte en un cuadrado.
¿Ahora me pregunto cómo cambiar el color pero solo el color, sin tocar la forma?
Gracias por adelantado
Compruebe la respuesta aceptada aquí: Android cambia el color del botón de acción flotante
Si deseas cambiar el color.
- en XML con la aplicación de atributo : backgroundTint
- en código con .setBackgroundTintList
Cree un ColorStateList
y ColorStateList
como el tinte de fondo:
button.setBackgroundTintList(new ColorStateList(new int[][]{new int[]{0}}, new int[]{color}));
Cree un recurso de color en colors.xml
( R.color.purple
en este caso) y utilícelo así:
floatingActionButton.setBackgroundTintList(getResources().getColorStateList(R.color.purple));
Para hacer esto compatible con versiones anteriores:
DrawableCompat.setTintList(DrawableCompat.wrap(fab.getDrawable()), tintColor); // <- icon
DrawableCompat.setTintList(DrawableCompat.wrap(fab.getBackground()), backgroundTintColor); // <- background
Prueba este código. Agregará un tinte al recurso de fondo.
button.setBackgroundTintList(getResources().getColorStateList(R.color.yourColor));
Si está utilizando Xamarin para la aplicación de Android, intente el código siguiente
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" utilizado para el color negro que puede cambiar de acuerdo con sus requisitos.
Si está utilizando la biblioteca de botones de acción flotante de https://github.com/Clans/FloatingActionButton , use este
fab.setColorNormal(getResources().getColor(R.color.fab_color1));
Tal vez tarde pero podría ayudar.
fab.setBackgroundTintList(ColorStateList.valueOf(Color
.parseColor("#33691E")));
y analice el código de color real de una lista de colores que puede encontrar aquí
el nombre del atributo es backgroundTint
así que creo que hay una función llamada
button.setBackgroundTint(color)
solo usa esta línea en tu archivo xml debajo del botón de acción flotante
android:backgroundTint="#96989A"
tienes que usar
- en XML con la
attribute app:backgroundTint
- en código con .setBackgroundTintList lea esta respuesta
Método 1: Cambiar el color de la barra de acción flotante (fab) en xml:
Para cambiar el color de la barra de acción flotante (fab), siga este paso.
simplemente agregue "app: backgroundTint =" # colorcode "" en xml de la barra de acción flotante (fab) .. Por ejemplo
app:backgroundTint="#8393ca"
en el lugar de # 8393ca agregue cualquier código de color que desee
Ejemplo como 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" />
Método 2: Cambia el color de la barra de acción flotante mediante programación
solo agrega esta linea en tu codigo
Primero cree un color rojo en sus valores => colores y luego agregue este código en su actividad en crear
fab.setBackgroundTintList(getResources().getColorStateList(R.color.red));
or
fab.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#33691E")));
créditos: http://androidrace.com/2016/12/12/how-to-change-fabfloating-action-bar-color-android/