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、然后通过矩阵的底部高度变化来获取输入法高度
本文介绍了一种通过监听页面布局变化来获取输入法高度的方法。具体实现为:为页面根布局activity_check添加全局布局监听器,当布局发生变化时,获取窗口可见区域的变化,并通过底部高度的变化来计算输入法的高度。
1121

被折叠的 条评论
为什么被折叠?



