我想检查一下,如果用户打开键盘,我想显示一个警告框。我怎样才能做到这一点?如果需要后台服务,任何人都可以告诉我如何检测用户打开键盘。
我想通过正常使用手机来检测。如果用户打开键盘进行通话,则会显示一个警告框。
请帮帮我。
答案 0 :(得分:0)
试试这种方式
try {
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
getScreenRootView().getWindowVisibleDisplayFrame(r);
int heightDiff = activityRootView.getRootView().getHeight() - (r.bottom - r.top);
if (heightDiff > 100) {
// keypad is open
}
}
});
} catch (Throwable e) {
e.printStackTrace();
}