欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

RelativeLayout设置wrap_content无效

程序员文章站 2022-03-25 22:53:46
尊重劳动成果,转载请标明出处:http://www.cnblogs.com/tangZH/p/8419053.html 在做项目的过程中,遇到了一个奇怪的现象,我设置RelativeLayout为的宽度为wrap_content,而且RelativeLayout里面的组件也设置了固定大小,可是Rel ......

尊重劳动成果,转载请标明出处:http://www.cnblogs.com/tangZH/p/8419053.html 

 

在做项目的过程中,遇到了一个奇怪的现象,我设置RelativeLayout为的宽度为wrap_content,而且RelativeLayout里面的组件也设置了固定大小,可是RelativeLayout宽度大小还是会铺满整个屏幕。 

 

为啥???一脸闷逼

百度之后发现,官方文档有解释:

A Layout where the positions of the children can be described in relation to each other or to the parent.Note that you cannot have a circular dependency between the size of the RelativeLayout and the position of its children. For example, you cannot have a RelativeLayout whose height is set to WRAP_CONTENT and a child set to ALIGN_PARENT_BOTTOM.

 

它的意思大概是说:不能在RelativeLayout的大小和子级的位置之间存在循环依赖关系。 例如,不能将RelativeLayout的高度设置为WRAP_CONTENT,将子设置为ALIGN_PARENT_BOTTOM。

 

就我遇到的两种情况而言是这样的:

1、设置RelativeLayout的宽度为wrap_content,子组件设置为

android:layout_alignParentEnd="true"

于是出现了RelativeLayout宽度铺满屏幕的现象

 

2、设置RelativeLayout的高度为wrap_content,子组件设置为

ALIGN_PARENT_BOTTOM

于是出现了RelativeLayout的高度铺满屏幕的现象

 

最终,我还是乖乖改为LinearLayout布局