1

LWUIT を使用してゲームを開発しました。現在、ゲームにフル タッチを実装しています。これはマルチプレイヤー ゲームであるため、チャットやログインなどのオプションがいくつかあります。チャットを押すと、フィールドに文字を入力する必要があります。私の質問は

チャットボタンを押したときにネイティブキーパッドを呼び出すことはできますか?

前もってありがとうクリス

4

1 に答える 1

1

いいえ。MIDP にはそのような API は含まれていません。LWUIT の仮想キーボード (ネイティブではない) を使用して、ここで説明されているように任意の文字セットを定義できます: http://lwuit.blogspot.com/2010/06/pimp-virtualkeyboard-by-chen-fishbein.html

display クラスを使用して表示できます。

Symbian デバイスでは、いくつかの jad プロパティを定義しないと、タッチ キーパッドが常に表示され、非表示にすることはできません。詳細については、http: //lwuit.blogspot.com/2009/11/optimizedを参照してください。 -for-touch.html

質問をもう一度見てみると、VKB はおそらく常時オンのキーパッドの交換にはやり過ぎだと思います。コンテンツを BorderLayout の中央に配置し、次のようにコンテナを南に貼り付けるだけです。

addComponent(BorderLayout.CENTER, myUI);
Container keypad = new Container(new GridLayout(2, 2));
addComponent(BorderLayout.SOUTH, keypad);
Button up = new Button("Up");
Button down = new Button("Down");
Button left = new Button("Left");
Button right = new Button("Right");
up.setFocusable(false);
down.setFocusable(false);
left.setFocusable(false);
right.setFocusable(false);
keypad.addComponent(up);
keypad.addComponent(down);
keypad.addComponent(left);
keypad.addComponent(right);
up.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent ev) {
       int up = Display.getInstance().getKeyCode(Display.GAME_UP);
       Display.getInstance().getCurrentForm().keyPressed(up);
       Display.getInstance().getCurrentForm().keyReleased(up);
    }
});

getKeyCode は非推奨ですが、その API に代わるものがないため、現時点では機能するはずです。

于 2011-05-22T03:49:21.577 に答える