此页面由 Cloud Translation API 翻译。
Android Developers
Develop
Core areas
UI
Views
创建线性布局
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
试用 Compose 方式
Jetpack Compose 是推荐在 Android 设备上使用的界面工具包。了解如何在 Compose 中使用布局。
列或行 →
LinearLayout
是一个视图组,用于使所有子视图在单个方向(垂直或
水平。您可以使用
android:orientation
属性。
注意:为了获得更好的性能和工具支持,
使用
ConstraintLayout。详细了解使用
通过朗读ConstraintLayout
了解
约束布局的性能优势。
。
图 1.一个包含三个水平方向的 LinearLayout
儿童。
LinearLayout 的所有子项依次堆叠,
因此垂直列表每行只有一个子项,无论子项有多宽。答
水平列表只有一行高,它是最高的子项的高度,
加号填充。LinearLayout 遵循外边距
和 gravity(右、中心或左)
对齐方式。
布局粗细
LinearLayout 还支持将权重
每个子女
android:layout_weight
属性。此属性指定“重要性”向每次观看分配的价值
它在屏幕上所占的空间大小较大的权重值
来填充父视图中的剩余空间子视图可以指定权重
值,并且视图组中的任何剩余空间都会分配给子视图
成比例。默认权重为零。
均等分布
创建一个线性布局,其中每个子项使用相同量的空间
屏幕上,设置
android:layout_height
传递给 "0dp" 以实现垂直布局,或者
android:layout_width
设置为 "0dp" 以获取水平布局。然后,将
将每个视图的 android:layout_weight 分配给 "1"。
不等分布
您还可以创建线性布局,其中子元素使用不同的
屏幕上有一些空间。请参考以下示例:
假设您有三个文本字段:两个的权重值为 1,
并将默认权重值设置为 0。第三个文本字段,使用
权重值为 0 的广告,则只占据其内容所需的区域。另一个
两个文本字段(权重值为 1)等宽展开,以填充
测量所有三个字段的内容后所留下的空间。
如果您有三个文本字段,其中两个的权重值为 1
第三个图片的权重为 2,则
这三个字段的内容的分配方式如下:
权重值为 2 的字段,
权重值为 1 的字段。
下图和代码段展示了布局权重在
“发送消息”活动。To 字段、Subject 行和 Send 按钮均仅占用各自所需的高度。消息区域
则占据 activity 的其余部分的高度。
图 2. 垂直方向的三个文本字段和一个按钮
LinearLayout。
android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="16dp" android:paddingRight="16dp" android:orientation="vertical" > android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/to" /> android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/subject" /> android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:gravity="top" android:hint="@string/message" />
如需详细了解
LinearLayout,参见
LinearLayout.LayoutParams。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-27。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-07-27。"],[],[]]