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

这里的获取宽度的这句代码可以自己用p来获取吗?

这里int width = ViewGroup.getChildMeasureSpec(0, 0, p.width);

可以写成int width = p.height;吗。

宽度不变,直接获取当前布局参数中的宽度不就行了吗?干嘛通过父布局这么麻烦的方式来获取。

正在回答

3 回答

初始化直接写成这样就行,加个什么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); 

}


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

mons_11

请问下你这个headView.measure(0, 0);的作用是什么。 measure的参数不是widthMeasureSpec,heightMeasureSpec吗?? 0,0 是表示什么
2015-10-14 回复 有任何疑惑可以回复我~
#2

欧拉啊旺

可以,就是不太正确的思路,你直接留给了父亲去算大小,通过绑定-20。当你考虑测量流程就不会这样奇怪了吧
2015-11-24 回复 有任何疑惑可以回复我~

一个子view的大小需要由其自身和其父view共同决定,你可以查看一下自定义view的相关资料,看一下view的测量。

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

举报

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

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

进入课程

这里的获取宽度的这句代码可以自己用p来获取吗?

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