安卓中的布局

来源:互联网 发布:淘宝全球买手香港 编辑:程序博客网 时间:2024/06/06 16:18

一.首先安卓中的布局是什么?


在Android中,共有五种布局方式,分别是:


FrameLayout(框架布局)
LinearLayout(线性布局)
AbsoluteLayout(绝对布局)
RelativeLayout(相对布局)
TableLayout(表格布局)
1. FrameLayout框架布局


布局特点:放入其中的所有元素都被放置在最左上的区域,而且无法为这些元素指定一个确切的位置,下一个子元素会重叠覆盖上一个子元素
应用场景:适合浏览单张图片。
2. LinearLayout线性布局


布局特点:放主要提供控件水平或者垂直排列的模型,每个子组件
都是以垂直或水平的方式来线性排布.(默认是垂直)
应用场景:最常用的布局方式
linearLayout中有一个重要的属性 android:layout_weight="1",这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大。
3. AbsoluteLayout绝对定位布局


布局特点:采用坐标轴的方式定位组件,左上角是(0,0)点,往右x轴递增,往下Y轴递增,组件定位属性为android:layout_x和 android:layout_y来确定坐标。
应用场景:准确定位空间位置
由于Android手机的屏幕尺寸、分辨率存在较大差异,使用AbsoluteLayout无法兼顾适配问题,所以该布局已经过时
4. RelativeLayout相对布局


布局特点:为某一个组件为参照物,来定位下一个组件的位置的布局方式。
应用场景:控件之间存在相应关系(适配神器,推荐使用)
5. TableLayout表格布局


布局特点:类似Html里的Table.使用TableRow来布局,其中TableRow代表一行,TableRow的每一个视图组件代表一个单元格。
应用场景:控件之间存在相应关系。
这五个布局元素可以相互嵌套应用,做出美观的界面。

二.为什么使用布局?

因为布局影响到整个程序的功能,布局有多种,也可以互相嵌套,使程序员更加得心应手的运用,做出美观的页面。

三.布局在哪用?

在线性布局LinearLayout里加入view比较简单,因为属性比较少,布局简单

在相对布局中RelativeLayout中加入view,属性较多
 public void addRule(int verb, int anchor) 方法就是给view设定布局规则,verb是规则属性,就是xml文件中的各种属性值,anchor是依靠的view的id或者比如上面的RelativeLayout.CENTER_IN_PARENT的时候就是设置true或false

四.布局怎么用?

LinearLayout就是流式布局,流式布局有个特点,就是下一个控件的坐标原点由上一个控件来决定,你可以沿水平方向或者垂直方向上来排列你的控件。 如果你的控件是垂直排列的,那么你可以给控件指定水平的居中方式

相对布局可以根据已经固定的控件来确定其他新加控件的位置。相对布局用的还是蛮多的

实现思路是我们先根据父视图的中心位置来确定center_button的位置,然后再由Center和Parent的位置来确定出其他按钮的位置,这就是相对布局。