-2

在制作android应用布局的时候我们要定义布局宽度,这是什么意思 android:layout_width="wrap_content"呢?

4

5 回答 5

6

任一属性都可以应用于 View 的(视觉控制)水平或垂直尺寸。它用于根据其内容或其父布局的大小设置视图或布局大小,而不是显式指定维度。

填充父

将小部件的布局设置为 fill_parent 将强制它展开以占用它所在的布局元素中可用的空间。

将顶级布局或控件设置为 fill_parent 将强制它占据整个屏幕。

包装内容

将 View 的大小设置为 wrap_content 将强制它仅扩展到足以包含它所包含的值(或子控件)的程度。对于控件——如文本框 (TextView) 或图像 (ImageView)——这将包装正在显示的文本或图像。对于布局元素,它将调整布局大小以适应作为其子元素添加的控件/布局。

查看官方文档了解更多详情!

于 2012-05-20T09:25:18.613 回答
2

android:layout_width="wrap_content"意味着布局是固定的,它会扩展到与您的内容大小完全相同。如果您的内容更多,它会扩展到该限制,并且与短内容相同。这是一个例子..

<RelativeLayout  

    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <Button
        android:id="@+id/btnButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button ABC"/>

</RelativeLayout>  

wrap_content图片:

图片

于 2015-11-24T10:46:14.957 回答
1

wrap_content意味着宽度由小部件的宽度决定,分别不是整个显示器的宽度,而只是小部件需要的宽度。

于 2012-05-20T09:22:50.987 回答
1

参考Android官方文档

安卓:布局宽度

指定视图的基本宽度。这是包含布局管理器内的任何视图的必需属性。它的值可以是固定宽度或特殊常数之一的尺寸(例如“12dip”)。可能是一个维度值,它是一个浮点数加上一个单位,如“14.5sp”。可用单位有:px(像素)、dp(与密度无关的像素)、sp(基于首选字体大小的缩放像素)、in(英寸)、mm(毫米)。这也可能是对包含此类型值的资源(形式为“@[package:]type:name”)或主题属性(形式为“?[package:][type:]name”)的引用. 可能是以下常数值之一。

  • fill_parent -1 视图应该与其父级一样大(减去填充)。从 API 级别 8 开始不推荐使用此常量,并由 match_parent 替换。
  • match_parent -1 视图应该与其父级一样大(减去填充)。在 API 级别 8 中引入。
  • wrap_content -2 视图应该足够大以包含其内容(加上填充)。
于 2012-05-20T09:31:28.067 回答
0

android:layout_width="wrap_content" 意味着布局宽度没有确定或固定,它会根据其组件占用空间。假设在一个文本字段中你只有一个单词,那么你的文本字段将只占用一个单词的空间,然后如果你的文本字段中有两个单词,那么当你将宽度声明为 wrap_content 时,它将占用两个单词的空间。同样的事情也适用于 layout_height 。

于 2015-09-07T08:16:17.137 回答