Frage

Ich habe versucht, einen Stil zu meinem TabWidget anzuwenden.

Ich habe mehrere Methoden ausprobiert wie

  

für (int i = 0; i.

aus Wie kann ich den Hintergrund eines Android-Tab ändern Widget?

Allerdings ist dieser Code nicht für mich arbeiten. Ich habe auch mit einigen XML-Stile durcheinander versucht. Der nächstgelegene ich bekommen habe, ist der Teiler zu setzen, jedoch, dass die gesamte Tab Widget drehen unifarben und die Tabs sind nicht mehr an der Spitze gezogen macht.

Bitte Hilfe. Mark Bücher berühren nur auf die Symbole für die Registerkarten Einstellung, nicht die Farbe zu ändern. Ich fühle mich so einfach sein sollte, aber TabWidgets und Hosts machen alles schwieriger.

Ich habe diesen Code versucht, sowohl die 1.6 und 2.2-Plattformen Targeting, aber weder API funktioniert.

Danke

War es hilfreich?

Lösung

Der Hintergrund einer Registerkarte ist eigentlich ein NinePatch Bild, Set in einen StateListDrawable . Wenn Sie setBackgroundColor() nennen, sind zu ersetzen Sie den Satz StateListDrawable mit einer einfachen Farbe, so dass die gesamte Registerkarte verwandelt sich in dieser Farbe. Was Sie tun müssen, ist ändern tatsächlich (oder ziehen Sie Ihre eigenen) NinePatch Registerkarte Bilder, die die Farbe und Stil sind, dass Sie für jeden Zustand wollen (zum Beispiel fokussiert, gedrückt, etc.).

Alternativ in Code können Sie einen Farbfilter gesetzt, wie beschrieben hier (getBackground() wird für eine TabWidget arbeiten sowie eine Schaltfläche), aber ich würde empfehlen, persönlich den NinePatch Weg zu gehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top