2

私は4つのタブを持っています。各タブはボタンで表されます。これらのボタンは、現在表示されているタブを選択するために使用されます。各ボタンにはアイコンとテキストがあります。

対応するボタンの背景色とテキストラベルの色を変更して、現在選択されているタブを強調表示したいと思います。テーマとリソースエディタを使用して実行したいと思います。

テーマを作成し、UIID「タブ」に選択されていない、選択された、押されたスタイルを指定しました。私のタブはSunWTKで見栄えがします!罰金!しかし、実際の電話では、タブが常に選択されていないように見えることがわかりました。Nokia5800XPressMusicとC7を試してみました。なぜ違いがあるのですか?

いくつかの実験の後、私はその理由を見つけました-ボタンは2つの状態にあるだけかもしれません:選択されていない状態と押されている状態です。選択した状態になることはありません。エミュレータでナビキーを使用してボタンに移動すると、選択された状態になります。

では、現在のタブをマークするにはどうすればよいですか?

4

2 に答える 2

2

特に1.5では、いくつかの異なるアプローチを使用できます。

LWUIT 1.5にはTabsコンポーネントがあり、ほとんどすべてを実行し、非常に柔軟性があります。

setToggleButton(true)メソッドが呼び出されるラジオボタンを使用します。トグルボタンはラジオボタンのように機能するため、グループ内のボタンを押したままになり、トグルボタンスタイルを使用してレンダリングされます(UIIDは任意に設定できます)。LWUITデモのフォントデモ部分にあるトグルボタンの使用例を参照してください。

古いバージョンのLWUITで機能するオプションは、ボタンが押されたときにボタンのUIIDを別の値に設定することです(以前に選択したボタンのUIIDを元の値に復元します)。

于 2011-12-08T08:51:37.023 に答える
1

必要なものを実装しました。シャイと彼の例に感謝します。

テーマのプロパティを使用せず、コードですべてのカスタマイズを行いました。問題は、小道具を変更する必要のあるUIIDを特定することではなく、変更するボタンのスタイルを特定することであるため、一意のUIIDを設定することがどのように役立つかを理解できなかったためです。

私のソリューションのいくつかの重要なメモの下。

  1. タブに追加した後addActionListener、ボタンを呼び出します。
  2. いずれかのタブボタンが押されたら、タブボタンの選択されていないスタイルを更新ます。また、アイコンを変更することもできます。
  3. repaint()手順2の後にフォームを呼び出します。
于 2011-12-09T08:50:30.040 に答える