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

关于setLayoutParams 动态设置 itemview的高度 问题

http://img1.sycdn.imooc.com//55880bb00001bb2712640257.jpg

 框出来的 是最后 能够实现动态高度 ——正确显示瀑布流的。。我的问题是按照那段视频里的代码(我注释掉的那几行)设置高度后,无效。。。。。高度全都是一样的。请问老师这是什么情况呢

正在回答

17 回答

改成相对布局能用了,谁知道什么原因

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

知道为什么了,不能在item布局文件里面使用FramLayout,换个相对布局试试就行

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

我用的是holder.tv.getLayoutParams();就可以了

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

lucky_JX

holder.tv.getLayoutParams();这个方法设置的是你TextView的高度,不是布局的高度。 我也遇到了同样的问题holder.itemView.getLayoutParams();没起作用
2015-07-10 回复 有任何疑惑可以回复我~

 好吧——我把item布局文件的顶层改成了RelativeLayout  然后设holder.itemView.setLayoutParams(lp); 可以了  这是什么原因呢 必须要 相对布局才行?o(╯□╰)o

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

thm

我的就是相对布局的,但是就是不行
2015-07-02 回复 有任何疑惑可以回复我~
#2

忘世麒麟 提问者

那就不知道了。。有些东西就是那么诡异
2015-07-04 回复 有任何疑惑可以回复我~
#3

lucky_JX

确实改成RelativeLayout布局holder.itemView.setLayoutParams(lp);这个方法就生效了
2015-07-10 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//558a7d420001e1d006570092.jpg 是viewgroup的啊

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

老师我导的就是Viewgroup的LayoutParams  但是为什么还是不行呢

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

忘世麒麟 提问者

我的也是。也是不行。。不过 tv.getLayoutParams(lp) 又可以
2015-06-24 回复 有任何疑惑可以回复我~
#2

忘世麒麟 提问者 回复 忘世麒麟 提问者

tv的LayoutParams 是布局最顶层的节点
2015-06-24 回复 有任何疑惑可以回复我~
#3

忘世麒麟 提问者

item布局文件的顶层改成了RelativeLayout 然后设holder.itemView.setLayoutParams(lp);
2015-06-24 回复 有任何疑惑可以回复我~

ViewGroup.LayoutParams lp =  holder.itemView.getLayoutParams();
lp.height = mHeights.get(position);
holder.itemView.setLayoutParams(lp);
holder.tv.setText(mDatas.get(position));


LayoutParams 是要 Viewgroup的LayoutParams...你再试试...

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

lucky_JX

这么设置还是不起作用
2015-07-10 回复 有任何疑惑可以回复我~
首页上一页12下一页尾页

举报

0/150
提交
取消
明日之星-RecyclerView
  • 参与学习       40779    人
  • 解答问题       116    个

带领大家学习百变RecyclerView,绝对干货,告别加班不是梦

进入课程

关于setLayoutParams 动态设置 itemview的高度 问题

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