ButtonFarbe via PorterDuff Mode oder XML verändern

  • Antworten:0
SebastianE
  • Forum-Beiträge: 37

08.03.2012, 11:41:22 via Website

Hallo,

auf meiner Suche im Web nach Möglichkeiten die Oberfläche eines Buttons farbig zu gestalten bin ich neben der XML Lösung auf den PorterDuff Mode gestoßen.
Der PorterDuff Mode funktioniert auch soweit ganz gut. Problem dabei ist, wenn der Button gedrückt wird sollte man erkennen das er gedrückt wird wie man das eben von Windows kennt. Die Farbe wird z.B. abgedunkelt.

Beim PorterDuff Mode funktioniert das irgndwie nicht immer bei jeder Farbe.

Bei Rot wird der Button im Zustand "pressed" hellrot.
Bei Grün wird der Button im Zustand "pressed" dunkelgrün.
Bei Schwarz tut sich gar nix.

myButton0.getBackground().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);//Grün
myButton1.getBackground().setColorFilter(0xFFFF0000, PorterDuff.Mode.MULTIPLY);//Rot
myButton2.getBackground().setColorFilter(0xFF000000, PorterDuff.Mode.MULTIPLY);//Schwarz

Weiß jemand wie man das einheitlich machen könnte, also z.B. bei "pressed" wird der Button heller?
Wieso tut sich bei schwarz gar nix? Ich vermute mal das er bei schwarz im Zustand "pressed" dunkler wird und das sieht man halt nicht weil dunkler geht ja nicht mehr. Kann man das irgenwie so ändern das er heller anstatt dunkler würde?

Vieleicht kennt ja jemand die Problematik und hat bessere Lösungen dafür gefunden. Ich bin mir etwas unsicher welche Lösung jetzt die geeignetere ist. Mein Layout hat eine Scrollview mit 37 Buttons.

Würde mich über Tips, Infos oder Links sehr freuen.

Vielen Dank,
SebastianE

Antworten