布局有:1.LinearLayout线性布局
2.RelativeLayout相对布局
3.TableLayout表格布局
4.GridLayout网格布局4.0
5.FrameLayout帧布局
6.AbsoluteLayout绝对布局(过时)
7.RTL从右到左的布局4.2.2
绝对布局:①自己指定控件的坐标
②每个控件有layout_x和layout_y属性
不推荐使用,因为屏幕大小变化,其位置也会变化
相对布局:①控件的位置总是相对父容器或兄弟控件的
②如果A控件的位置是相对B控件的,那B控件要先定义
③每个控件使用LayoutParams规定的参数来定义相对位置
④LayoutParams的参数一类的值为true和false;另一类是其他控件的ID
常用属性:(1)android:id
(2)boolean型
(3)id型
网格布局:①它使用虚线将布局划分为行、列和单元格,也支持一个控件在行、列上都有交错排列
②与html中的table非常类似
③4.0以上的版本可以直接使用
④2.X的版本需要添加一个支持包
常用属性:(1)指定行数
(2)指定列数
(3)设置控件跨行
(4)设置控件跨列
RTL:①Android4.2之后才能用,一般用在阿拉伯语等环境中,中国用户很少使用
②AndroidManifest.xml中吧application标签的android:supportsRtl属性值 设置为true
③相应的试图标签吧android:layoutDriection属性值设置为trl
布局重用:可以在布局文件中使用<include>标签重用布局
<include
android:id="@+id/cell" layout="@layout/frame_layout"
/>