为了账号安全,请及时绑定邮箱和手机立即绑定

请教一下 ViewGroup.getChildMeasureSpec 和 MeasureSpec.makeMeasureSpec 方法

在通知父布局,占用的宽,高; 也就是measureView(View view) 方法中, 老师我

   int width = ViewGroup.getChildMeasureSpec(0, 0, layoutParams.width) ;

  int height = ViewGroup.getChildMeasureSpec(0, 0, layoutParams.height)  ;

  view.measure(width, height) ; 这样写的 效果是一样的, 我觉得老师你那样写好像没有必要啊.

  而且我希望 老师 能讲讲这两个方法的区别使用  谢谢了


正在回答

6 回答

说的都是些啥挤吧东西啊,东粘点西凑点来糊弄人,不花钱就是没人管啊

2 回复 有任何疑惑可以回复我~

不明白

0 回复 有任何疑惑可以回复我~

看getChildMeasureSpec源码,其实最终也是调用MeasureSpec.makeMeasureSpec  

0 回复 有任何疑惑可以回复我~

还是不懂

1 回复 有任何疑惑可以回复我~

/**
* @param spec 父View的详细测量值(MeasureSpec)
* @param padding  子view内外边距
*@param childDimension 子view预定的大小(LayoutParam.width或height)---最终不一定绘制该大小
*子布局大小需要由自身的layoutPrams属性和父View的MeasureSpec共同决定
*/
ViewGroup.getChildMeasureSpec(int spec, int padding, int childDimension);

MeasureSpec.makeMeasureSpec(int size,int mode);此处得到的即是spec

区别:

getChildMeasureSpec可以设置子View的内外边距并且记录预定大小

       若spec,padding均为0,则子布局为实际大小。

makeMeasureSpec(size,MeasureSpec.EXACTLY)得到的是size。

makeMeasureSpec(size,MeasureSpec.UNSPECIFIED)得到的是子布局的实际大小。

详解地址:http://zhujiao.iteye.com/blog/1851689

3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android的ListView下拉刷新
  • 参与学习       44067    人
  • 解答问题       121    个

本课程就分享一个Android实现ListView下拉刷新功能的技巧

进入课程

请教一下 ViewGroup.getChildMeasureSpec 和 MeasureSpec.makeMeasureSpec 方法

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信