一、LinearLayout
—LinearLayout:
线性布局是程序中最常见的一种布局方式,可以分为水平线性布局和垂直线性布局两种
—android:orientation:该属性可
设置线性布局的方向(
vertical、
horizontal)。
—android:gravity:该属性用于
控制布局中控件的对齐方式。如果是没有子控件的控件设置此属性,表示其
内容的对齐方式,比如说TextView此属性,则表示其子控件的对齐方式里面文字的对齐方式;若是有子控件的控件设置。Eg: android:gravity="center_horizontal
|center_vertical“
—android:layout_gravity:该属性是用来指定当前控件的位置。
—android:padding:
内边距,表示和内部控件或文字的间距大小
—Android:layout_margin:
外边距,表示和其它控件的间距大小
—android: layout_weight:通过设置控件的layout_weight属性以控制各个控件在布局中的相对大小,相当于所占
比例大小。layout_weight属性是一个
非负整数值。线性布局会根据该控件layout_weight值与其所处布局中所有控件layout_weight值之和的比值为该控件分配占用的区域。例如,在水平布局的LinearLayout中有两个Button,这两个Button的layout_weight属性值都为1,那么这两个按钮都会被拉伸到整个屏幕宽度的一半。如果layout_weight指为0,控件会按原大小显示,不会被拉伸;对于其余layout_weight属性值大于0的控件,系统将会减去layout_weight属性值为0的控件的宽度或者高度,再用剩余的宽度或高度按相应的比例来分配每一个控件显示的宽度或高度。
二、AbsoluteLayout
—
AbsoluteLayout
:
指定子控件的
xy
精确坐标的布局。绝对布局缺乏灵活性,在没有绝对定位的情况下相比其他类型的布局更难维护。
—
Android:
layout_x
=“10px”
—
Android:
layout_y
=“10px”
三、FrameLayout
—
FrameLayout
:
所有添加到这个布局中的视图都以层叠的方式显示。第一个添加的组件放到最底层,最后添加到框架中的视图显示在最上面。上一层的会覆盖下一层的控件。
—
FrameLayout
的大小是最大控件的大小。
四、RelativeLayout
—
RelativeLayout
:
相对布局
,容器内部的子元素可以使用彼此之间的相对位置或者和容器间的相对位置来进行定位。
—
注意:不能在RelativeLayout容器本身和他的子元素之间产生循环依赖,比如说,不能将RelativeLayout的高设置成为WRAP_CONTENT的时候将子元素的高设置成为 ALIGN_PARENT_BOTTOM
—android:layout_above:将该控件置于给定ID的
控件之上
—android:layout_below:将该控件的置于给定ID
控件之下
—android:layout_toLeftOf:将该控件置于给定ID的
控件之左
—android:layout_toRightOf :将该控件置于给定ID的
控件之右
—android:layout_alignBaseline:该控件基线
对齐给定
ID
的基线
—android:layout_alignBottom:该控件于给定ID的控件
底部对齐
—android:layout_alignLeft:该控件于给定ID的控件
左对齐
—android:layout_alignRight:该控件于给定ID的控件
右对齐
—android:layout_alignTop:该控件于给定ID的控件
顶对齐
—android:layout_alignParentLeft:如果为True,该控件位于
父控件的左部
—android:layout_alignParentRight:如果为True,该控件位于
父控件的右部
—android:layout_alignParentTop:如果为True,该控件位于
父控件的顶部
—android:layout_alignParentBottom:如果为True,该控件位于
父控件的底部
—android:layout_centerHorizontal:如果为True,该控件将被置于
水平方向的中央
—android:layout_centerInParent:如为Ture,该控件将被置于
父控件水平方向和垂直方向中央
—android:layout_centerVertical:如果为True,该控件将被置于
垂直方向的中央
重点补充:
RelativeLayout中控件的位置一般用xml文件进行静态控制,但是如何在代码中动态控制子元素的位置呢?
五、TableLayout
—
TableLayout
:
表格布局
是一个
ViewGroup
以表格显示它的子视图(
view
)元素,即行和列标识一个视图的位置。
Android
的表格布局跟
HTML
中的表格布局非常类似,
TableRow
就像
HTML
表格的
<
tr
>
标记。
—Android:layout_span:
合并的列数
—Android:collapseColumns:
隐藏指定的列
—Android:shrinkColumns:
收缩指定的列,以适合屏幕大小,保证都在屏幕内
—Android:stretchColumns:
拉伸指定的列,以填充空白部分
—Android:layout_column:控件在TableRow中所处的列