首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Android上检测隐藏键盘事件

在Android上检测隐藏键盘事件
EN

Stack Overflow用户
提问于 2017-11-08 05:42:42
回答 1查看 877关注 0票数 1

所以我需要保持一个应用程序的沉浸模式。该应用程序在沉浸式模式下有全屏网页视图,但问题是webview内容有一个文本框。当用户触摸文本框时,它将触发软键盘,这将禁用沉浸模式。当textbox失去焦点时,我解决了这个问题,它将触发javascriptinterface重新激活沉浸模式。但问题是软键盘显示时的隐藏/后退按钮。

这是图像

我尝试过onKeyDowndispatchKeyEventonBackPressed,但它们在调试时都没有触发。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-08 06:07:11

要获得软键盘的可见性,您必须这样做:

代码语言:javascript
运行
复制
contentView.getViewTreeObserver().addOnGlobalLayoutListener(new 
ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {

Rect r = new Rect();
contentView.getWindowVisibleDisplayFrame(r);
int screenHeight = contentView.getRootView().getHeight();

int keypadHeight = screenHeight - r.bottom;
if (keypadHeight > screenHeight * 0.15) {
    // keyboard is opened
}
else {
    // keyboard is closed
    }
}
});

编码愉快!!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47172338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档