今天在做一个截图超过页面的长度canvas.draw的方式 ,布局xml 中加的页面 ,页面布局是top+center+bottom ,截图的时候的时候发现
我在截图的时候设置截图的高度 却发现bottom的高度获取不正确,猜测原因是因为由于在加载的时候布局已经布局好了 他在布局的时候 无法超过手机的高度 (Scrollview应该可以获取正确的高度)所以需要对bottom进行重新measure一遍获取高度(经过测试如果是wrap_content的已经完全展示的view 通过如下的操作反而不对):
//制定测量规则 参数表示size + mode
int width = View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED);
int height = View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED);
//调用measure方法之后就可以获取宽高
bottomView.measure(width, height);
bottomView.getMeasuredWidth(); // 获取宽度
int bh = bottomView.getMeasuredHeight(); // 获取高度