Android布局

来源:互联网 发布:剑网3重制版继承数据不 编辑:程序博客网 时间:2024/06/05 02:00
公共部分:
1:布局可以嵌套布局
2:layout_width/layout_height的取值有:fill_parent(填充到父组件的尺寸)和wrap_content(仅仅包含内容的尺寸),也可以自己设定尺寸,sp作为文本的单位,其他用dip。

布局可以分为以下几类:
1:LinearLayout:线性布局。
设置android:orientation="vertical"/“horizontal”来指定是按垂直还是水平排列元素,当然也在可以在代码里通过setOrientation()方法来设置LinearLayout还支持为单独的子元素指定layout_weight。好处就是允许子元素可以按比例填充屏幕上的剩余空间。这也避免了在一个大屏幕中,一串小对象挤成一堆的情况,而是允许他们放大填充空白。子元素指定一个layout_weight值,剩余的空间就会按这些子元素指定的layout_weight比例分配给这些子元素。默认的layout_weight值为0。例如,如果有三个文本框,其中两个指定了layout_weight值为1,那么,这两个文本框将等比例地放大,并填满剩余的空间,而第三个文本框不会放大。
2:AbsoluteLayout:绝对位置布局。组件按照layout_x和 layout_y(在屏幕中的坐标)来确定位置,这种布局缺乏弹性。
3:RelativeLayout:相对位置布局。组件相对于父容器或者其他组件的相对位置来确定位置,即组件位置与它相依赖的组件相关。

相对父容器的属性:

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.

既然是相对于另一个控件,就必须在定义这控件时候指定是哪个控件,如控件A的ID为@+id/widget_a,控件B若要在控件A下面可以这样设置android:layout_below="@id/widget_a"。

4:TableLayout:是LinearLayout的子类。
5:FrameLayout:此布局一般放一个组件,位置在左上角。如果放多个组件,则显示最上边的那个。