wake-up-neo.com

Ändern Sie die Farbe der Floating-Aktionstaste in Appcompat 22.2.0 programmgesteuert

Ich möchte wissen, wie Sie die Farbe der Floating Action Button aus der Support-Bibliothek 22.2.0? .__ 

button.setBackgroundColor(color);

dies ändert jedoch eindeutig das Zeichen der Schaltfläche und wird zu einem Quadrat.

Jetzt wundere ich mich, wie man die Farbe aber nur die Farbe ändert, ohne die Form zu berühren?

Danke im Voraus

23
user2410644

Vielleicht zu spät, könnte aber helfen. 

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

und den aktuellen Farbcode aus einer Liste von Farben analysieren Hier finden Sie

34
Olu Smith

Erstellen Sie eine ColorStateList und legen Sie sie als Hintergrundfarbe fest:

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

du musst benutzen 

  • in XML mit attribute app:backgroundTint
  • im Code mit .setBackgroundTintList Lesen Sie diese Antwort 

Android ändert die Farbe der Floating-Aktionstaste

11
Saeed Darvish

Erstellen Sie eine Farbressource in colors.xml (in diesem Fall R.color.purple) und verwenden Sie sie wie folgt:

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

Methode 1: Ändern Sie die Farbe der Floating-Aktionsleiste (Fab) in XML:

Folgen Sie diesem Schritt, um die Farbe der Floating-Aktionsleiste (Fab) zu ändern

fügen Sie einfach "app: backgroundTint =" # colorcode "" in xml der schwebenden Aktionsleiste (fab) hinzu. Zum Beispiel

app:backgroundTint="#8393ca"

fügen Sie an der Stelle von # 8393ca einen beliebigen Farbcode hinzu

Beispiel als 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" />

Methode 2: Ändern Sie die Farbe der Floating-Aktionsleiste programmgesteuert

fügen Sie einfach diese Zeile in Ihren Code ein

Erstellen Sie zuerst eine Farbe Rot in Ihren Werten => Farben, und fügen Sie diesen Code in Ihre Aktivität ein

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

                                or

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

credits: http://androidrace.com/2016/12/12/wie-zu-ändern-fabfloating-action-bar-color-Android/

9

Überprüfen Sie die akzeptierte Antwort hier: Android ändert die Farbe der Floating Action Button

Wenn Sie die Farbe ändern möchten

  • in XML mit dem Attribut app: backgroundTint
  • im Code mit .setBackgroundTintList
6
Louis CAD

Um dies abwärtskompatibel zu machen:

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

der Attributname ist backgroundTint

ich denke, es gibt eine Funktion namens

button.setBackgroundTint(color)

1

wenn Sie die Floating-Aktionstasten-Bibliothek von https://github.com/Clans/FloatingActionButton verwenden, verwenden Sie diese Option

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

Versuchen Sie diesen Code. Dadurch wird der Hintergrundressource ein Farbton hinzugefügt.

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

verwenden Sie einfach diese Zeile in Ihrer XML-Datei unter der schwebenden Aktionsschaltfläche

Android:backgroundTint="#96989A"
0
Makvin