fill_parent和wrap_content的区别(翻译)

本文详细解析了Android中的两种关键布局属性:fill_parent与wrap_content。fill_parent用于使视图填充满父容器,而wrap_content则让视图根据内容自动调整大小。文章还探讨了Android 2.2中引入的match_parent概念及其与fill_parent的关系。

Either attribute can be applied to View's (visual control) horizontal or vertical size. It's used to set a View or Layouts size based on either it's contents or the size of it's parent layout rather than explicitly specifying a dimension.

两个属性都用来适应视图的水平或垂直大小,一个以视图的内容或尺寸为基础的布局比精确地指定视图范围更加方便。

fill_parent

Setting the layout of a widget to fill_parent will force it to expand to take up as much space as is available within the layout element it's been placed in. It's roughly equivalent of setting the dockstyle of a Windows Form Control to Fill.

设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。这跟Windows控件的dockstyle属性大体一致。

Setting a top level layout or control to fill_parent will force it to take up the whole screen.

设置一个顶部布局或控件为fill_parent将强制性让它布满整个屏幕。

wrap_content

Setting a View's size to wrap_content will force it to expand only far enough to contain the values (or child controls) it contains. For controls -- like text boxes (TextView) or images (ImageView) -- this will wrap the text or image being shown. For layout elements it will resize the layout to fit the controls / layouts added as its children.

设置一个视图的尺寸为wrap_content将强制性地使视图扩展以显示全部内容。以TextView和ImageView控件为例,设置为wrap_content将完整显示其内部的文本和图像。布局元素将根据内容更改大小。

It's roughly the equivalent of setting a Windows Form Control's Autosize property to True.

设置一个视图的尺寸为wrap_content大体等同于设置Windows控件的Autosize属性为True。

简言之:fill_parent布局指将视图(在Windows中称为控件)扩展以填充所在容器的全部空间。

        wrap_content布局指根据视图内部内容自动扩展以适应其大小。

Android2.2中match_parent和fill_parent是一个意思

match_parent更贴切,于是从2.2开始你两个词都可以用。那么如果考虑低版本的使用情况你就需要用fill_parent了。 

下面是两者相同的证据,看android.view.ViewGroup里的静态嵌套类LayoutParams中的代码: 

Java代码    收藏代码
  1. public static final int FILL_PARENT = -1;  
  2.       /** 
  3.        * Special value for the height or width requested by a View. 
  4.        * MATCH_PARENT means that the view wants to be as big as its parent, 
  5.        * minus the parent's padding, if any. Introduced in API Level 8. 
  6.        */  
  7.       public static final int MATCH_PARENT = -1;   
  8.   
  9.       /** 
  10.        * Special value for the height or width requested by a View. 
  11.        * WRAP_CONTENT means that the view wants to be just large enough to fit 
  12.        * its own internal content, taking its own padding into account. 
  13.        */


转载于:https://my.oschina.net/mayi00/blog/35121

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值