【问题标题】:codenameone virtual keyboard not getting displayed in android device代号虚拟键盘未显示在 android 设备中
【发布时间】:2016-12-31 15:51:51
【问题描述】:

我试图在 TextField 获得焦点时显示虚拟键盘。当我在 Android 手机上测试它时,显示的是它的默认键盘,而不是自定义键盘。

    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();

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    虚拟键盘类是旧功能的一部分,不应使用。代号一使用本机输入,您的代码将使用本机数字输入:

    Form testForm = new Form(new BorderLayout());
    TextField txt = new TextField(); 
    txt.setConstraint(TextField.NUMERIC);
    
    testForm.add(BorderLayout.NORTH, txt);        
    testForm.show();
    

    【讨论】:

    • 感谢 Shai 的回复。在这种情况下,我想显示一个带有几个特殊键和不同外观的数字键盘(例如,在一条水平线上显示所有键)。我该怎么做?
    • 本机键盘不允许这种级别的自定义,除非您从头开始实施不可移植的 VKB。如果您想要完全控制,您可以使用带有按钮的对话框。
    猜你喜欢
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    相关资源
    最近更新 更多