1.View:
View表示控件,View与View之间是无法嵌套的,为了让控件能够嵌套其他控件,产生了ViewGroup,ViewGroup继承了View,ViewGroup一般也比较少使用,我们一般使用其子类实现,即五大基本布局(AbsoluteLayout、FrameLayout、LinearLayout、TableLayout、RelativeLayout)
View的属性:
① 控件的宽高:(固定值 与两种状态)
android:layout_width="30dp"
android:layout_height="30dp"
② 控件的可见度:(3种状态)
android:visibility="visible"
③ 控件的背景:(颜色 图片)
android:background="#F00"
④ 盒子模型:
android:layout_margin="10dp"(外边距)
android:padding="5dp"(内边距)
2.LinearLayout:
线性布局,指的是该布局下包含的子布局列表为横线或者竖线排布,比较常用。线性布局有两个重要的属性:
① 指定方向:(横向布局/纵向布局) android:orientation=""
② 权重:android:layout_weight="1" (只能在LinearLayout的子控件中使用)
3.RelativeLayout:
相对布局 (相对父控件布局或者相对兄弟控件布局),比较常用
① 相对父控件
android:layout_centerHorizontal 横向居中
android:layout_centerVertical 纵向居中
android:layout_centerInParent 横向纵向居中
② 相对父控件顶部/底部/最左边/最右边对齐
android:layout_alignParentTop
android:layout_alignParentBottom
android:layout_alignParentLeft
android:layout_alignParentRight
③ 相对已存在的兄弟控件(在某个控件的上面/下面/左边/右边)
android:layout_above
android:layout_below
android:layout_toLeftOf
android:layout_toRightOf
④ 相对兄弟控件的边对齐
android:layout_alignTop
android:layout_alignBottom
android:layout_alignLeft
android:layout_alignRight
4.FrameLayout:
帧布局,越是后面写的控件越在顶层 (应用场景: 霓虹灯、自定义一些高级的UI控件) 层层叠加,默认控件在左上角
5.AbsoluteLayout:
绝对布局,控件在父控件中的绝对定位 (应用场景: 机顶盒开发 ),在实际开发中,通常不采用此布局格式,因为它的界面代码过于刚性,以至于有可能不能很好的适配各种终端
属性:
android:layout_x="30dp"
android:layout_y="30dp"
6.TableLayout:
表格布局,是LinearLayout的子类,一个TableLayout由许多TableRow组成,一个TableRow就代表TableLayout中的一行,TableRow也是容器,因此可以向TableRow里面添加其他组件,没添加一个组件该表格就增加一列。 (应用场景: 银行表格)