RelativeLayout中layout_alignParentRight="true"无效的解决办法

最近使用RecyclerView自定义控件,Item布局中遇到一个坑发现初始化的时候一个控件被遮盖了,也就是layout_alignParentRight="true"没有生效,但是触摸滑动RecylerView之后Item中的元素又都显示正常了!
初步判断是item布局文件中某一个属性没有配置对。
经过排查是RelativeLayout中layout_width需要设置成match_parent或者固定大小,layout_alignParentRight="true"才有效。
这种情况的解决办法有两个:

  1. 直接将layout_width设为match_parent。
  2. 测量RecyclerView可用宽度,动态的将RelativeLayout设置成固定宽度。

针对遇到的这个问题究其原因的话,应该是初始化的时候设置为wrap_content时,view或者viewgroup没有正确执行measure和layout方法,滑动之后又正确执行了上述两个方法。
所以使用RelativeLayout使用match_parent,因为它的自身执行的方法和线性布局有所不同!

发布了99 篇原创文章 · 获赞 185 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/Bluechalk/article/details/98968092
今日推荐