Android API 25 (Android 7.1.1 API)
LinearLayout
public class LinearLayout
extends ViewGroup
Added in API level 1
java.lang.Object
↳android.widget.LinearLayout
已知直接子类:
ActionMenuView
AppBarLayout
ListRowHoverCardView
ListRowView
NumberPicker
RadioGroup
SearchView
TabWidget
TableLayout
TableRow
TextInputLayout
ZoomControls
【概述】
布置子视图在一行或一列的布局。可以通过调用setOrintation()来设置布局方向。还可以指定重力,通过调用setGravity()指定所有子元素的对齐方式,或通过设置LinearLayout.LayoutParams的weight来指定特定的子视图来填充满剩余的布局空间。
布局方向默认是水平的。
LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。
因此一个垂直列表的每一行只会有一个widget或者是container,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子控件的高度加上边框高度)。
LinearLayout保持其所包含的widget或者是container之间的间隔以及互相对齐(相对一个控件的右对齐、中间对齐或者左对齐)。
不换行属性: 线性布局中的组件不会自动换行,如果组件一个一个排列到尽头之后,剩下的组件就不会显示出来;
【嵌套类】
类 LinearLayout.LayoutParams 每个孩子与ViewLinearLayout相关的布局信息
LinearLayout.LayoutParams
android: layout_gravity
API 1
属性说明:表示组件自身在父组件中的位置。默认值left。
可以是以下一个或多个(用”|”分隔)常量:
top 将对象推送到其容器的顶部,而不更改其大小。
bottom 将对象推送到其容器的底部,而不更改其大小。
left 将对象推送到其容器的左侧,而不更改其大小。
right 将对象推送到其容器的右侧,而不更改其大小。
center 将对象放置在其容器的垂直和水平轴的中心,而不改变其大小。
center_vertical 将对象放置在其容器的垂直中心,而不改变其大小。
centet_horizontal 将对象放置在其容器的水平中心,而不改变其大小。
Fill 如果需要,增大对象的水平和垂直尺寸,以便它完全填充其容器。
fill_vertical 如果需要,增大对象的垂直尺寸,以便它完全填充其容器。
fill_horizontal 如果需要,增大对象的水平尺寸,以便它完全填充其容器。
clip_vertical 附加的可选设置,它可以设置容器内子对象的上下边缘裁剪它的容器边框。裁剪会基于垂直对齐的方式:顶部对齐的会裁剪底部边缘,底部对齐的会裁剪顶部边缘,不会上下边缘都裁剪。
clip_horizontal 附加的可选设置,它可以设置容器内子对象的左右边缘裁剪它的容器边框。裁剪会基于水平对齐的方式:左对齐的会裁剪右边缘,右对齐的会裁剪左边缘,不会左右边缘都裁剪。
start 将对象推送到其容器的起始处,而不更改其大小。