Hide/show 个选项卡,具体取决于虚拟键盘何时可见

Hide/show tabs depending on when the virtual keyboard is visible

有人能帮忙吗?当虚拟键盘 appears/disappears 时,我正在尝试 hide/show 我的选项卡。我可以使用下面的代码实现这一点,具体取决于该字段是否具有焦点,但是如果用户按下硬件后退按钮(以移除键盘),这不会从该字段中移除焦点,因此选项卡将不会再次显示。理想情况下,我想要一种根据虚拟键盘显示和隐藏的方法。使用 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 方法。