Hintergrundfarbe von Button anpassen

R

RobNeck

Ambitioniertes Mitglied
3
Moin!

Ich habe in meiner App einen Button, mit dem ich die aktuelle Pinselfarbe einstellen kann. Der Hintergrund dieses Buttons soll immer die aktuell gewählte Farbe zeigen.

Versuche ich dies mit myButton.setBackgroundColor(); sieht der Button dadurch ziemlich hässlich und eckig aus, und verliert seinen eigentlichen Shape komplett.

Ich hätte gerne einen Button, dessen Hintergrundfarbe sich programmatisch ändern lässt und der dabei nicht seine ursprünglich Form verliert. Ich habe in meiner App eine riesige Farbpalette, weshalb es schwierig ist das mit jeweils selbstgebauten Buttons für jede Farbe zu regeln.

Hat jemand eine Idee, wie ich das umsetzen könnte?
 
Zuletzt bearbeitet:
Ich habe dieses Problem nun mit einem eigenen CustomButton View gelöst, der von Button abgeleitet ist.
Den View habe ich so erweitert, dass ich ein RoundRect auf den Button zeichne und dessen Hintergrundfarbe mit einer Funktion ganz leicht anpassen kann.

Nun möchte ich es noch schaffen, dass das RoundRect auf allen Devices - egal wie groß der Bildschirm ist - immer genau gleich auf dem Button liegt. Dazu hole ich mir in der onDraw erstmal Höhe und Breite des Buttons mit super.getMeasuredHeight bzw getMeasuredWidth.

Ist es nun cleverer in rect.set() mit den Werten herumzuspielen, bis es passt, oder gibt es da noch eine praktischere Funktion, die einfach jeweils 10% links, rechts, oben und unten auf dem Button frei lässt?
 

Ähnliche Themen

A
  • AnimaAngelo85
Antworten
1
Aufrufe
333
swa00
swa00
MES
Antworten
10
Aufrufe
816
MES
MES
C
Antworten
8
Aufrufe
1.123
swa00
swa00
Zurück
Oben Unten