1

数字の入力に使用するテキストフィールドが必要です。中心にしたい。そして、テンキーでそれを許可したい。

BB OS 5で正常に動作し、BB OS 6/7 / 7.1を使用すると、テンキーを表示できませんでした。

次のコードは次のとおりです。

txtEventNumber = new RichTextField(RichTextField.TEXT_ALIGN_HCENTER) {
public void paint(Graphics graphics) {
super.paint(graphics);
int oldColor = Color.GRAY;
graphics.setBackgroundColor(Color.WHITE);
graphics.setColor(TEXT_COLOR);
Font font = this.getFont().derive(Font.EMBOSSED_EFFECT, 20);
this.setFont(font);
graphics.drawRoundRect(0, 0, getWidth(), getHeight(), 10, 10);
graphics.setColor(oldColor);
super.paint(graphics);
}
public int getPreferredHeight() {
return super.getPreferredHeight() + ADD_MARGIN;
}
protected void onFocus(int direction) {
if (Touchscreen.isSupported() && getScreen().getVirtualKeyboard() != null)
// Show keyboard
getScreen().getVirtualKeyboard().setVisibility(VirtualKeyboard.SHOW);
};
protected void onUnfocus() {
if (Touchscreen.isSupported() && getScreen().getVirtualKeyboard() != null)
// Hide keyboard
getScreen().getVirtualKeyboard().setVisibility(VirtualKeyboard.HIDE_FORCE);
};
};
txtEventNumber.setEditable(true);
// can enter only numeric digits
if (Touchscreen.isSupported())
// show numeric keypad
txtEventNumber.setFilter(TextFilter.get(TextFilter.DEFAULT_SMART_PHONE));
else
txtEventNumber.setFilter(TextFilter.get(TextFilter.REAL_NUMERIC));
txtEventNumber.setMargin(10, 10, 0, 10);
4

2 に答える 2

2

水平/垂直フィールドマネージャーを作成し、それを中央に設定します。次に、editFieldを追加しました。

EditField e=new EditField(label, initial value, max char limit, BasicEditField.FILTER_INTEGER);
于 2012-12-14T05:59:23.653 に答える
0

私はHFMを使用し、それに編集フィールドを追加しました。keyChar()また、メソッドを使用して各キー操作でカーソル位置を設定します。

そのため、編集フィールドを使用して仮想テンキーでカーソル位置を中央に設定しました。

また、すべてに感謝します。

于 2012-12-21T19:04:42.693 に答える