我在我的应用程序中使用了下面给出的代码来检测键盘是否可见。我可以将它用于棒棒糖以外的安卓版本。在棒棒糖设备上运行应用程序时,以下代码不起作用。如果有人可以纠正错误的代码或提供任何替代解决方案,那将是非常有帮助的。
final View activityRootView = findViewById(R.id.activityRoot);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {@Override
public void onGlobalLayout() {
int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight();
if (heightDiff > 100) {
//keyboard is visible
}
}
});