我需要知道何时显示Notification
与EditText
关注时操作系统显示的“更改输入法”类似的行为,因此不能限于{{ 1}}在我的申请中。
有办法吗?一些EditText
或Listener
?我应该在哪里查看源代码来研究操作系统是如何做到的?
答案 0 :(得分:1)
执行以下操作
LinearLayout mainLayout;
mainLayout = (LinearLayout) findViewById(R.id.mian_layout);
mainLayout.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
mainLayout.getWindowVisibleDisplayFrame(r);
int heightDiff = mainLayout.getRootView().getHeight() - (r.bottom - r.top);
if (heightDiff > 100) {
// keyboard is open.
} else {
//keyboard is closed.
}
}
});