为了以后的复习,今天开始学习写博客了。

android提供五大布局:

1)LinearLayout 线性布局

2)RelativeLayout相对布局

3)TableLayout 绝对布局

4)FrameLayout 框架布局

5)TableLayout 表格布局


 

LinearLayout 线性布局



这个布局需要设置方向,指定子元素的方向。默认方向是水平方向(horizontal)

一般设置这个布局,个人比较建议控制权重的方式控制子元素的空间大小。


设置元素可有以下几个:

1、android:orientation="vertical" 表示该布局下的元素垂直排列;horizontal表示该布局下的元素水平方向排列。

2、android:layout_width  表示指在父控件中当前控件的宽,可以设定其确定的值。

   android:layout_height 表示指在父控件中当前控件的宽,可以设定其确定的值。

   一般使用下面两个值*fill_parent,填满父控件的空白*wrap_content,表示大小刚好足够显示当前控件里的内容 .

3、   android:layout_gravity 表示布局在父布局中的位置。

这里需要注意两个属性:android:layout_gravity="center_horizontal"表示该布局在父布局里水平居中,此时其父布局必须拥有

android:orientation="vertical"属性;

android:layout_gravity="center_vertical"表示该布局在父布局里垂直居中,此时其父布局必须应设置成

android:orientation="horizontal"属性(默认为该属性),且其父布局的高度应设置为 android:layout_height="fill_parent"属性。

4、android:gravity 表示布局里的内容对齐方式。

5、android:background 表示设置布局的背景,可以是颜色或者图片。

6、android:layout_margin设置边沿空白,分上下左右,如左边沿的空白,android:layout_margin = "10dp".

7、android:layout_padding设置布局的内边距,分上下左右。

8、android:layout_weight  设置布局的权重。这个属性比较好用,通过设置权重,可根据手机屏幕大小自动分配。



RelativeLayout


这个布局是一层一层往上叠的,设置布局的底部时,一定要注意放在最上面的一层,这样才不会被遮住。

元素有以下:

// 相对于给定ID控件

android:layout_above之上;

android:layout_below之下;

android:layout_toLeftOf 左边缘对齐;

android:layout_toRightOf右边缘对齐;


android:layout_alignBaseline给定ID的baseline对齐;

android:layout_alignTop 给定ID的顶部边缘对齐;

android:layout_alignBottom给定ID的底部边缘对齐;

android:layout_alignLeft给定ID的左边缘对齐;

android:layout_alignRight      将该控件的右边缘与给定ID的右边缘对齐;

// 相对于父组件

android:layout_alignParentToptrue,将该控件的顶部与其父控件的顶部对齐;

android:layout_alignParentBottomtrue,将该控件的底部与其父控件的底部对齐;

android:layout_alignParentLefttrue,将该控件的左部与其父控件的左部对齐;

android:layout_alignParentRight  true,将该控件的右部与其父控件的右部对齐;

// 居中

android:layout_centerHorizontaltrue,将该控件的置于水平居中;

android:layout_centerVertical true,将该控件的置于垂直居中;

android:layout_centerInParent true,将该控件的置于父控件的中央;

//android4.2新增属性

android:layout_alignStart  两个控件开始对齐 
android:layout_alignEnd    两个控件结束对齐 
android:layout_alignParentStart    子控件和父控件开始对齐 
android:layout_alignParentEnd    子控件和父控件结束对齐



其他布局很少用,具体就下次再补上了