2011-12-07 207 views
2

我有4個選項卡。每個選項卡由一個按鈕表示。這些按鈕用於選擇當前顯示的選項卡。每個按鈕都有一個圖標和文字。LWUIT:選項卡 - 如何標記當前選定的選項卡

我想通過更改相應按鈕的背景顏色和文本標籤顏色來突出顯示當前選定的選項卡。我想使用主題和資源編輯器來完成它。

我爲UIID「Tab」創建了主題並指定了未選定,選定和按下的樣式。我的標籤在Sun WTK中看起來很棒!精細!但我發現,在真正的手機上,標籤總是看起來像未被選中。我嘗試過諾基亞5800 XPressMusic和C7。爲什麼區別?

經過一些實驗後,我發現原因 - 按鈕可能只有2種狀態:未選中和按下。他們從未處於選擇狀態。在模擬器上,當我移動到使用導航鍵的按鈕時,它將變爲被選中狀態。

那麼,我該怎麼做才能標記當前標籤?

+0

LWUIT哪個版本您使用的? – bharath

+0

我正在使用v1.5 – Zakhar

回答

1

我實現了我所需要的。感謝Shai和他的例子。

我沒有使用主題屬性並在代碼中進行了所有自定義。我這樣做是因爲我沒有了解如何設置唯一的UIID可以幫助我,因爲問題不在於確定要更改道具的UIID,而是要確定要更改的按鈕樣式。

下面是我解決方案的一些重要注意事項。

  1. 呼叫addActionListener爲AFTER他們紛紛加入到標籤的按鈕
  2. 當按下任何選項卡按鈕時,更新取消選擇選項卡按鈕的樣式。你也可以改變他們的圖標。
  3. 呼叫形式步驟之後的repaint() 2.
+0

簡單的事情可能需要很長時間... – Zakhar

2

您可以使用幾種不同的方法,特別是在1.5中。

LWUIT 1.5有一個Tabs組件,它幾乎爲你做了所有事情,並且非常靈活。

它使用方法setToggleButton(true)被調用的單選按鈕。切換按鈕的作用類似於單選按鈕,因此當您按下組中的按鈕時,它將保持按下狀態,並使用切換按鈕樣式進行渲染(您可以將UIID設置爲任何您想要的)。請參閱LWUIT演示的字體演示部分中使用切換按鈕的示例。

適用於較舊版本LWUIT的選項是在按下按鈕時將該按鈕的UIID設置爲不同的值(並將之前選定的按鈕的UIID恢復爲原始值)。

+0

該按鈕沒有保持按下狀態。 – Zakhar

+0

該示例很有幫助。 – Zakhar

相關問題