隐藏软键盘(隐藏输入法)的实现方法 原创

发布于 2021-4-24 12:17
浏览
4收藏

@toc

原理

向前或向后找到当前拥有焦点的控件,然后对其调用clearFocus()就可以隐藏软键盘。

逻辑上应该没问题,我也简单测过了。大家使用过程序中,++如果没有效果,欢迎反馈给我++。我们一起进步。

代码


//clearFocus等同于隐藏软键盘
public static void clearFocus(Component component){
    Component focusedComponent = findFocus(component, Component.FOCUS_NEXT);//尝试向后找焦点控件
    if (focusedComponent != null) {
        focusedComponent.clearFocus();
        return;
    }

    focusedComponent = findFocus(component, Component.FOCUS_PREVIOUS);//尝试向前找焦点控件
    if (focusedComponent != null) {
        focusedComponent.clearFocus();
    }
}

//找焦点控件
public static Component findFocus(Component component, int direction){
    if (component.hasFocus()) {
        return component;
    }
    Component focusableComponent = component;
    int i = 99;
    while (i-->0){
        focusableComponent = focusableComponent.findNextFocusableComponent(direction);
        if (focusableComponent != null) {
            if (focusableComponent.hasFocus()) {
                return focusableComponent;
            }
        } else {
            break;
        }
    }
    return null;
}

相关文章

隐藏软键盘(隐藏输入法)的实现方法

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
已于2021-7-8 09:15:13修改
收藏 4
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐