codenameone虚拟键盘未在android设备中显示
当TextField聚焦时,我试图显示一个虚拟键盘。当我在安卓手机上测试它时,显示的是它的默认键盘,而不是定制键盘codenameone虚拟键盘未在android设备中显示,codenameone,Codenameone,当TextField聚焦时,我试图显示一个虚拟键盘。当我在安卓手机上测试它时,显示的是它的默认键盘,而不是定制键盘 Form testForm = new Form(new BorderLayout()); TextField txt = new TextField(); String[][] arrOfNumbers = new String[][]{{"1","2","3",}, {"4","5","6",}, {"7","8","9",}, {"0", "00"
Form testForm = new Form(new BorderLayout());
TextField txt = new TextField();
String[][] arrOfNumbers = new String[][]{{"1","2","3",}, {"4","5","6",}, {"7","8","9",}, {"0", "00", "$OK$"}};
VirtualKeyboard virtualKB = new VirtualKeyboard();
virtualKB.addInputMode("NUM_KB", arrOfNumbers);
virtualKB.setInputModeOrder(new String[]{"NUM_KB"});
VirtualKeyboard.bindVirtualKeyboard(txt, virtualKB);
testForm.add(BorderLayout.NORTH, txt);
testForm.show();
虚拟键盘类是遗留功能的一部分,不应使用。Codename One使用本机输入,您的代码将通过以下方式使用本机数字输入:
Form testForm = new Form(new BorderLayout());
TextField txt = new TextField();
txt.setConstraint(TextField.NUMERIC);
testForm.add(BorderLayout.NORTH, txt);
testForm.show();
谢谢Shai的回复。在本例中,我希望显示一个带有两个特殊键和不同外观的数字键盘(例如,在一条水平线上显示所有键)。我该怎么做呢?本机键盘不允许这种级别的定制,除非您从头开始实现VKB,它是不可移植的。如果您想要完全控制,您可以使用带有按钮的对话框。