android五大布局

来源:互联网 发布:孤独啊网络歌手 编辑:程序博客网 时间:2024/06/03 23:39
1.AbsoluteLayout
绝对布局,使用以屏幕左上角为圆点的坐标对控件进行定位(注意:定位的坐标点是在控件的左上角)
1.1属性
android:layout_x:定位控件的横坐标
android:layout_y:定位控件的纵坐标
1.2优缺点:
优点:放置很方便。
缺点:由于是通过屏幕坐标定位控件,所以当我们的屏幕分辨率发送改变时,控件受到的影响非常大,所以程序的可移植性很差。不建议做主要布局使用,但是在作为局部定位还是可以的。
2.LinearLayout
所有的控件都会一条线的摆放,要么水平要么垂直。
2.1属性
android:orientation="vertical"或者"horizontal"
用来设置horizontal(水平)还是vertical(垂直)摆放
android:baselineAligned="true"或者"false"
用来设置是否基线对齐(按钮里面的文字)
android:baselineAlignedChildIndex="childIndex"
设置已哪一个子控件的基线对齐
android:gravity="center_horizontal"
设置布局里面控件的对齐方式


子控件属性:
android:layout_weight="1.0"
只能在线性布局的子控件中才能使用,用来设置子控件占据的比例大小
2.2优缺点
优点:
所受屏幕分辨率的影响很小,控件摆放整齐一致。
缺点:
只能横竖两种摆放,要想实现复杂好看的布局很麻烦


3.FrameLayout
帧布局,先加入的控件会被覆盖在最下面,后添加的控件会覆盖掉之前的控件
3.1属性
android:foreground,可以使用这个属性在整个布局的前面添加一个图片或者颜色。
android:foregroundGravity,调整由android:foreground设置的图片的对齐方向。
3.2优缺点
优点:
由于它是分层显示,所以可以做跳帧的动画。
缺点:
只能重叠摆放,控件放置方式单一


4.RelativeLayout
相对布局,控件的摆放位置都是相对于其它控件的位置来确定自己的位置,受到屏幕分辨率影响很小。
4.1子控件属性:
android:layout_alignParentTop
android:layout_alignParentBottom
android:layout_alignParentLeft
android:layout_alignParentRight,贴到指定的父控件的边缘。


android:layout_toLeftOf
android:layout_toRightOf
android:layout_toStartOf
android:layout_toEndOf,放置在指定id的控件的指定方向上。


android:layout_above
android:layout_below,放置在指定id的控件的上或下。


android:layout_alignLeft
android:layout_alignRight
android:layout_alignTop
android:layout_alignBottom,与指定id的控件边缘对齐。


android:layout_centerInParent,将我们的控件放置在父控件的中间。
4.2优缺点
优点:
受到屏幕分辨率影响很小.
缺点:
当控件关联其它较多控件时,一旦里面有一点改动,其它控件也会受到影响。


5.Tablelayout
表格布局,必须同TableRow一同使用.否则就和线性布局没有什么差别了。
5.1属性
android:stretchColumns="0"拉伸列,列号从0开始。
android:collapseColumns="0"隐藏列
android:shrinkColumns="0"收缩列
TableRow属性:
android:weightSum="5",此属性与控件的 android:layout_weight="1"一起使用,用来设置一行的所有控件的大小。
5.2优缺点
优点:
控件放置整齐有序,适合做类似计算器之类的多按钮布局
缺点:
布局方式单一,不适合做复杂的布局


6.GridLayout
网格布局,4.0以后新加的布局方式
6.1属性:
android:columnCount="3"
android:rowCount="5"
用来设置布局的行和列
android:layout_column="1"
设置子控件想排在第几个
6.2优缺点
优点:
在Tablelayout的基础上,行和列设置更加灵活,也省去了TableRow。
缺点:
同样也是布局方式单一,不适合做复杂的布局。
0 0