是的,您可以在Viewtree Observer和全局布局侦听器的帮助下,尝试以下提到的步骤
获取布局的根视图
获取此根的Viewtree观察器,并在此之上添加全局布局侦听器。
现在,无论何时显示软键盘,Android都会重新调整屏幕大小,您将在监听器上收到呼叫。这就是现在唯一需要做的就是计算重新调整大小后根视图与原始大小之间的高度差。如果差异大于150,则认为这是因为键盘已膨胀。
以下是示例代码
root.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){
public void onGlobalLayout(){
int heightDiff = root.getRootView().getHeight()- root.getHeight();
// IF height diff is more then 150, consider keyboard as visible.
}
});
问候,Techfist