美文网首页
手动测量view的大小

手动测量view的大小

作者: 蒸汽飞船 | 来源:发表于2018-04-19 21:21 被阅读54次

使用场景:

  1. 计算view的大小
  2. 获取view的bitmap,手动调用测量->绘制,然后生成bitmap

match_parent 测不了

子view的layout_params参数为match_parent:这种情况测不了,看父容器给多少,或者改成wrap_content,然后测最小值

参数指定具体值

子view的layout_params参数指定了具体值,宽多少高多少,比如款150,通过如下方法计算MeasureSpec然后对该view进行测量。

int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(150, View.MeasureSpec.EXACTLY);

wrap_content

通过如下方法测量

int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec((1<<30)-1, View.MeasureSpec.AT_MOST);

int heightMeasureSpec = View.MeasureSpec.makeMeasureSpec((1<<30)-1, View.MeasureSpec.AT_MOST);

view.measure(widthMeasureSpec,heightMeasureSpec);

view.getMeasuredHeight();
view.getMeasuredWidth();

相关文章

网友评论

      本文标题:手动测量view的大小

      本文链接:https://www.haomeiwen.com/subject/zoygkftx.html