Codenameone 根据虚拟键盘的可见时间隐藏/显示选项卡

Codenameone 根据虚拟键盘的可见时间隐藏/显示选项卡,codenameone,Codenameone,有人能帮忙吗?当虚拟键盘出现/消失时,我正试图隐藏/显示我的选项卡。我可以通过下面的代码实现这一点,这取决于字段是否有焦点。但是,如果用户按下硬件后退按钮(移除键盘),这不会从字段中移除焦点,因此选项卡将不会再次显示。理想情况下,我想要一种根据虚拟键盘显示和隐藏的方式。使用Netbeans IDE 8.2代码命名一个插件版本6.0。也许我走错了方向,任何建议都将不胜感激 t_TelFind.addFocusListener(new FocusListener() {

有人能帮忙吗?当虚拟键盘出现/消失时,我正试图隐藏/显示我的选项卡。我可以通过下面的代码实现这一点,这取决于字段是否有焦点。但是,如果用户按下硬件后退按钮(移除键盘),这不会从字段中移除焦点,因此选项卡将不会再次显示。理想情况下,我想要一种根据虚拟键盘显示和隐藏的方式。使用Netbeans IDE 8.2代码命名一个插件版本6.0。也许我走错了方向,任何建议都将不胜感激

t_TelFind.addFocusListener(new FocusListener()
        {
        @Override
        public void focusGained(final Component t_TelFind)
        {
            DTOTabs.hideTabs();
        }

        @Override
        public void focusLost(final Component t_TelFind)
        {
            DTOTabs.showTabs();
        }
    });

         t_TelDelete.addFocusListener(new FocusListener()
        {
        @Override
        public void focusGained(final Component t_TelDelete)
        {
            DTOTabs.hideTabs();
        }

        @Override
        public void focusLost(final Component t_TelDelete)
        {
            DTOTabs.showTabs();
        }
    });

即使在本机环境中,检测虚拟键盘也非常困难。我们有一些这样做的代码,并在
Display
中将其作为API公开,具体为
addVirtualKeyboardListener
。甚至该方法也明确声明API在某些情况下可能会失败


我建议使用较小的标签或使用创造性的方法,如whatsapp方法,在向下滚动时折叠标签

谢谢你的支持。我坚持使用FocusGain和focusLost,添加一个完成的侦听器,然后在其他地方设置焦点。不幸的是,即使按下“完成”按钮,字段也不会失去焦点。这不是最好的解决办法。我现在已经解决了这个问题,使容器可以滚动,这样我的字段就不会被阻塞了。WhatsApp方法在未来可能会很有用,谢谢!