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

想问下measureView()这个方法

measureView这个方法 可否详细的说下?

正在回答

2 回答

谢谢,挺好的

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

由于Android程序的运行机制决定了无法再组件类外部使用getWidth和getHeight方法获得高度和宽度(在自定义组件类中可以实现),必须使用View.getMeasuredWidth和View.getMeasureHeight方法获得当前组件的宽度和高度,在调用这两个方法之前,必须调用View.measure方法先测量组件宽度和高度。
如果想直接获取在布局文件中定义的组件的宽度和高度,可以直接使用View.getLayoutParams().width和View.getLayoutParams().height



初始化直接写成这样就行,加个什么measureView有点误人子弟了

private void initView(Context context)

{

LayoutInflater inflater = LayoutInflater.from(context);

headView = inflater.inflate(R.layout.header_layout, null);

headView.measure(0, 0);

headerHeight = headView.getMeasuredHeight();

Log.d("wenming", "headerHeight = " + headerHeight);

topPadding(-20);

this.addHeaderView(headView); 

}


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

熊小女

headView.measure(0, 0);参数为什么是0,0?代表什么?
2016-05-22 回复 有任何疑惑可以回复我~
#2

慕移动4268930 回复 熊小女

怎么理解呢,就是让系统底层去测量这个view的宽高.
2016-05-25 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

想问下measureView()这个方法

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