为什么我们使用ViewTreeObserver#addOnGlobalLayoutListener()
2022-09-03 18:13:52
我们为什么使用,请任何人都可以解释一下?ViewTreeObserver
在下面的代码中是对象。通过这整个代码,我理解“这是根据条件隐藏一些文本”,但唯一的问题是我们为什么要使用?creditsView
TextView
ViewTreeObserver
mainLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int heightDiff = mainLayout.getRootView().getHeight() - mainLayout.getHeight();
if (heightDiff > 100) {
Utils.appLogger("MyActivity", "keyboard opened");
creditsView.setVisibility(View.GONE);
}
if (heightDiff < 100) {
Utils.appLogger("MyActivity", "keyboard closed");
creditsView.setVisibility(View.VISIBLE);
}
}
});