Frage

Ich habe 4 Registerkarten.Jede Registerkarte wird durch eine Schaltfläche dargestellt.Mit diesen Schaltflächen können Sie die aktuell angezeigte Registerkarte auswählen.Jede Schaltfläche verfügt über ein Symbol und einen Text.

Ich möchte die aktuell ausgewählte Registerkarte hervorheben, indem ich die Hintergrundfarbe und die Farbe der Textbeschriftung der entsprechenden Schaltfläche ändere.Ich würde es gerne mit dem Theme and Resource Editor machen.

Ich habe ein Thema erstellt und nicht ausgewählte, ausgewählte und gedrückte Stile für die UIID "Tab" angegeben.Meine Tabs sehen in Sun WTK großartig aus!Fein!Aber ich fand, dass auf einem echten Telefon die Registerkarten immer wie nicht ausgewählt aussehen.Ich habe Nokia 5800 XPressMusic und C7 ausprobiert.Warum der Unterschied?

Nach einigen Experimenten habe ich den Grund herausgefunden - die Tasten befinden sich möglicherweise nur in zwei Zuständen: nicht ausgewählt und gedrückt.Sie befinden sich niemals im ausgewählten Zustand.Wenn ich auf dem Emulator mit Navi-Tasten zu einer Schaltfläche wechsle, wird diese ausgewählt.

Was soll ich also tun, um die aktuelle Registerkarte zu markieren?

War es hilfreich?

Lösung 2

Ich habe implementiert, was ich brauchte.Vielen Dank an Shai und sein Beispiel.

Ich habe keine Designeigenschaften verwendet und alle Anpassungen im Code vorgenommen.Ich habe dies getan, weil ich nicht verstanden habe, wie mir das Festlegen einer eindeutigen UIID helfen kann, da das Problem nicht darin besteht, die UIID zu identifizieren, für die die Requisiten geändert werden müssen, sondern darin, den Stil der zu ändernden Schaltfläche zu identifizieren.

Nachfolgend einige wichtige Hinweise zu meiner Lösung.

  1. Rufen Sie addActionListener für die Schaltflächen NACH auf, die sie zu den Registerkarten hinzugefügt haben.
  2. Wenn eine Tabulatortaste gedrückt wird, aktualisieren Sie die UNSELECTED -Stile der Tabulatortasten.Sie können auch ihre Symbole ändern.
  3. Rufen Sie nach Schritt 2 den repaint() des Formulars auf.

Andere Tipps

Insbesondere in Version 1.5 können Sie verschiedene Ansätze verwenden.

LWUIT 1.5 verfügt über eine Tabs-Komponente, die so ziemlich alles für Sie erledigt und bemerkenswert flexibel ist.

Es werden Optionsfelder verwendet, auf denen die Methode setToggleButton(true) aufgerufen wird.Umschalttasten verhalten sich wie Optionsfelder. Wenn Sie eine Taste in der Gruppe drücken, bleibt sie gedrückt und wird mit dem ToggleButton-Stil gerendert (Sie können die UIID auf einen beliebigen Wert einstellen).Ein Beispiel für die Verwendung von Umschalttasten finden Sie im Abschnitt zur Schriftdemo der LWUIT-Demo.

Eine Option, die für ältere Versionen von LWUIT funktioniert, besteht darin, die UIID der Schaltfläche beim Drücken auf einen anderen Wert zu setzen (und die UIID der zuvor ausgewählten Schaltfläche auf den ursprünglichen Wert zurückzusetzen).

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