Android 获取屏幕大小而不使用键盘大小

Android 获取屏幕大小而不使用键盘大小,android,Android,我必须在软键盘上方设置下拉列表。滚动时,它会出现在键盘上方。如何获取窗口或设备的大小(软键盘高度除外)?有没有办法做到这一点? 先进的Thanx 您可以使用根视图组的方法来获取可见帧的大小当启动键盘时,视图层次将失效并重新绘制。因此,您可以使用此回调: final View activityRootView = findViewById(R.id.mainLayout); activityRootView.getViewTreeObserver().addOnGlobalLayoutListen

我必须在软键盘上方设置下拉列表。滚动时,它会出现在键盘上方。如何获取窗口或设备的大小(软键盘高度除外)?有没有办法做到这一点?
先进的Thanx

您可以使用根视图组的方法来获取可见帧的大小

当启动键盘时,视图层次将失效并重新绘制。因此,您可以使用此回调:

final View activityRootView = findViewById(R.id.mainLayout);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
      //
     }
});
包括键盘在内的高度可通过以下方式检索:

activityRootView.getRootView().getHeight()
通过软键盘调整视图高度的大小:

activityRootView.getHeight()

使用这个函数,我每次都会得到不同的高度值。对于activityRootView.getRootView().getHeight()和activityRootView.getHeight()?