activity_check.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener(){
@Override
public void onGlobalLayout()
{
Rect r = new Rect();
activity_check.getWindowVisibleDisplayFrame(r);
log.d("hdh","可见范围的高度:"+r.bottom);
}
});
1、activity_check是一个页面的根布局
2、addOnGlobalLayoutListener这个监听事件主要为了监听页面布局的改变,当activity_check这个布局改变时会及时获得到更新的信息
3、然后activity_check绑定了视图可见区域的改变的监听,并把数据给一个矩阵
4、然后通过矩阵的底部高度变化来获取输入法高度