今天在写demo的是时候遇到一个奇怪的问题,recycleview的item宽度始终无法全屏。
查了一下相关资料,大部分都解决方法是修改onCreateViewHolder里面的view初始化方法如:
View view= LayoutInflater.from(context).inflate(R.layout.item_layout,parent,false);
但是我这里明明是这么写的啊~
这时我开始怀疑是不是容器导致的问题,我把ConstraintLayout换成线性布局,妥妥的可以宽度可以全屏,看来是ConstraintLayout和Recycleview 组合使用的时候会有这个问题。
我把recycleview的layout_width从match_parent改为0dp,问题解决了。
查了一下相关文档,发现
ConstraintLayout 并不支持match_parent
1.直接包含在ConstraintLayout下面的view是不支持match_parent的,使用0dp替换。
2.嵌在直接包含在ConstraintLayout下面的view里面的view是支持match_parent的,随你怎么用。
相关文档:https://stackoverflow.com/questions/37603751/set-width-to-match-constraints-in-constraintlayout
在这里做个备忘吧