2
为什么我们用ViewTreeObserver
,请大家能解释一下吗?为什么我们使用ViewTreeObserver#addOnGlobalLayoutListener()
以下代码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);
}
}
});
thankyou #azizbekian –
@PrasanthYejje,作为一个新人,有人回答你的问题,并且你对答案感到满意,请将答案标记为已接受。 – azizbekian
好兄弟@azizbekian –