Domanda

Ho 4 schede.Ogni scheda è rappresentata da un pulsante.Questi pulsanti vengono utilizzati per selezionare la scheda attualmente visualizzata.Ogni pulsante ha un'icona e un testo.

Vorrei evidenziare la scheda attualmente selezionata cambiando il colore di sfondo e il colore dell'etichetta di testo del pulsante corrispondente.Mi piacerebbe farlo utilizzando Theme e Resource Editor.

Ho creato il tema e specificato stili non selezionati, selezionati e premuti per UIID "Tab".Le mie schede hanno un bell'aspetto in Sun WTK!Bene!Ma ho scoperto che su un telefono reale le schede sembrano sempre non selezionate.Ho provato su Nokia 5800 XPressMusic e C7.Perché la differenza?

Dopo alcuni esperimenti ho scoperto il motivo: i pulsanti possono essere solo in 2 stati: non selezionati e premuti.Non si trovano mai nello stato selezionato.Sull'emulatore, quando passo a un pulsante utilizzando i tasti di navigazione, viene selezionato.

Allora, cosa devo fare per contrassegnare la scheda corrente?

È stato utile?

Soluzione 2

Ho implementato ciò di cui avevo bisogno.Grazie a Shai e al suo esempio.

Non ho utilizzato le proprietà del tema e ho effettuato tutte le personalizzazioni nel codice.L'ho fatto perché non ho capito come l'impostazione di UIID univoco possa aiutarmi, dal momento che il problema non è nell'identificazione dell'UIID per il quale gli oggetti di scena devono essere modificati, ma nell'identificare lo stile del pulsante da modificare.

Di seguito alcune note importanti della mia soluzione.

  1. Chiama addActionListener per i pulsanti DOPO che sono stati aggiunti alle schede.
  2. Quando viene premuto un pulsante di tabulazione, aggiorna gli stili NON SELEZIONATI dei pulsanti di tabulazione.Inoltre puoi cambiare le loro icone.
  3. Chiama repaint() del modulo dopo il passaggio 2.

Altri suggerimenti

Puoi utilizzare diversi approcci, specialmente nella 1.5.

LWUIT 1.5 ha un componente Tabs che praticamente fa tutto per te ed è notevolmente flessibile.

Utilizza i pulsanti di opzione su cui viene invocato il metodo setToggleButton(true).I pulsanti di attivazione / disattivazione si comportano come pulsanti di opzione, quindi quando si preme un pulsante nel gruppo rimane premuto e viene visualizzato utilizzando lo stile ToggleButton (è possibile impostare l'UIID su quello che si desidera).Guarda un esempio di utilizzo dei pulsanti di attivazione / disattivazione nella parte dimostrativa dei caratteri della demo di LWUIT.

Un'opzione che funzionerà per le versioni precedenti di LWUIT è semplicemente impostare l'UIID del pulsante su un valore diverso quando viene premuto (e ripristinare l'UIID del pulsante selezionato in precedenza al valore originale).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top