在制作android应用布局的时候我们要定义布局宽度,这是什么意思 android:layout_width="wrap_content"
呢?
5 回答
任一属性都可以应用于 View 的(视觉控制)水平或垂直尺寸。它用于根据其内容或其父布局的大小设置视图或布局大小,而不是显式指定维度。
填充父
将小部件的布局设置为 fill_parent 将强制它展开以占用它所在的布局元素中可用的空间。
将顶级布局或控件设置为 fill_parent 将强制它占据整个屏幕。
包装内容
将 View 的大小设置为 wrap_content 将强制它仅扩展到足以包含它所包含的值(或子控件)的程度。对于控件——如文本框 (TextView) 或图像 (ImageView)——这将包装正在显示的文本或图像。对于布局元素,它将调整布局大小以适应作为其子元素添加的控件/布局。
查看官方文档了解更多详情!
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
图片:
wrap_content
意味着宽度由小部件的宽度决定,分别不是整个显示器的宽度,而只是小部件需要的宽度。
参考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 视图应该足够大以包含其内容(加上填充)。
android:layout_width="wrap_content"
意味着布局宽度没有确定或固定,它会根据其组件占用空间。假设在一个文本字段中你只有一个单词,那么你的文本字段将只占用一个单词的空间,然后如果你的文本字段中有两个单词,那么当你将宽度声明为 wrap_content 时,它将占用两个单词的空间。同样的事情也适用于 layout_height 。