简单的Android五大布局

来源:互联网 发布:最难防范的网络攻击是 编辑:程序博客网 时间:2024/06/05 01:08

1.线性布局(LinearLayout):包含的子空间将以横向或竖向的方式排列。 

他本身常用的两个属性:android:oriention=“vertical”,决定子类控件的排布方式(vertical:垂直;horizontal:水平)

                                            android:gravity=“center”,决定子类的XY的位置(center_vertical:垂直居中,center_horizontal水平居中,center:居中,right:子类控件位于当前布局的右边,left:子控件位于当前布局的左边,bottom:子类控件位于当前布局的下面)

子类控件在linerLayout中常用的属性:

android:layout_gravity=“bottom”------指本身在当前父容器的XY的位置。

例如:<Button android:layout_gravity=“center_horizontal”/>//放在子容器内

android:layout_weight=“1”------指本身控件占当前父容器的一个比例。 

例如:(1)<Button android:layout_weight="2"

android:layout_height="wrap_content">

<Button android:layout_weight="1"

android:layout_height="wrap_content">   //各占屏幕的一半。

注意:android:layout_height="wrap_content"变成android:layout_height="match_parent"

上面的效果会改变,与(1)相反。

线性布局里面还可以套用布局。

2.相对布局(RelativeLayout):包含的子控件将以控件之间的相对位置或者子类控件相对父类容器的位置的方式排列

常用的几个属性:

(1)子类控件相对于父容器的一个位置 

layout_alignParentLeft(top)="ture";   子类控件相对于父类容器靠左边(上边)

layout_marginLeft(top)="40dp";   子类控件相对于父类容器左边(上边)的距离

layout_centerInParent(Horizontal,Vertical)="true" ;子类控件相对于父类容器即水平居中又垂直居中(水平居中,垂直居中)

2)子类控件位于子类控件的位置 

layout_below(toRightOf,above,toLeftOf)="@+id/button1"   该控件位于给定id控件的底部(右边,上边,左边)

layout_alignBaseline="@+id/button1"  该控件的内容与给定id控件的内容在一条线上

layout_alignBottom(Left,Right,TOP)=该控件的底部(左边,右边,顶部)边缘与给定id控件的底部(左边,右边,顶部)边缘对齐。

3.帧布局(FrameLayout):在这个布局中,所有的子元素都不能放在被指定的位置,他们统统放在这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素和全部遮挡。

<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent" android:layout_height="match_parent"    >    <TextView        android:background="#785435"        android:layout_width="200dp"        android:layout_height="200dp"        android:text="第一个页面"        android:id="@+id/textView2"        android:layout_gravity="center" />    <TextView        android:gravity="center"        android:background="#985764"        android:layout_width="150dp"        android:layout_height="150dp"        android:text="第二个页面"        android:id="@+id/textView3"        android:layout_gravity="center" />    <TextView        android:gravity="center"        android:background="#564238"        android:layout_width="100dp"        android:layout_height="100dp"        android:text="第三个页面"        android:id="@+id/textView4"        android:layout_gravity="center" />    <TextView        android:gravity="center"        android:background="#697524"        android:layout_width="80dp"        android:layout_height="80dp"        android:text="第四个页面"        android:id="@+id/textView5"        android:layout_gravity="center" /></FrameLayout>

如设置进度条。

4.绝对布局(AbsoluteLayout):又可以叫坐标布局,可以指定子元素的绝对位置(XY)。开始时不常用,使用绝对定位的适用性较差。

子控件的属性:android:layout_x=“35dip”   控制当前子控件的x位置

    android:layout_y=“40dip”  控制当前子控件的y位置

5.表格布局(TableLayout):模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象。  

全局属性:

1) collapseColumns=“1,2”;//隐藏从0开始的索引列,列直间必须用逗号隔开:1,2,5;

2)shrinkColumns=“1,2”//收缩从0开始的索引列,当收缩的列太宽(内容过多)不会被挤出屏幕,列直接必须用逗号隔开,亦可以用“*”代替收缩所有列。注意一列能同时表示收缩和拉伸。

3)strechColumns=“1,2”//拉伸从0开始的索引列,用来填满剩下的多余空白空间,列直接必须用逗号隔开:1,2,5,你也可以通过“*”来代替所有列,注意一列能同时表示收缩和拉伸。 

局部属性:

1)layout_column=“1”;   //该控件显示在第二列

2)layout_span=“2”;//该控件占据两列

1 0
原创粉丝点击