RelativeLayout设置wrap_content无效

Posted 妖久

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RelativeLayout设置wrap_content无效相关的知识,希望对你有一定的参考价值。

尊重劳动成果,转载请标明出处: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布局

以上是关于RelativeLayout设置wrap_content无效的主要内容,如果未能解决你的问题,请参考以下文章

RelativeLayout相对布局

Android基础篇 动态生成RelativeLayout 布局

Android布局之相对布局——RelativeLayout

把WebView设置成全屏的代码怎么写?

将视图放置在高度为 wrap_content 的相对布局的底部

让RelativeLayout(相对布局)不重叠