android五大布局

? ? ? ??Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。

?
?
??

一、LinearLayout:

? 1.运行效果:


??

?

? ? ?2.源码:

?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/lla"
    android:orientation="vertical" >
    
   <Button       
android:text="button1"
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"         
       /> 
 
  <Button       
android:text="button2"
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"         
       />    
<Button       
android:text="button3"
android:id="@+id/button3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"         
       />   
</LinearLayout>

?

?

?

二、FrameLayout:

? ? ? ?1.运行效果:

? ? ? ?
?

? ? 2.源码:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:background="@color/white">
    
 <TextView
     android:text="@string/big"
     android:id="@+id/TextView1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:textSize="60px"
     android:textColor="@color/green"
     >
 </TextView>   

  <TextView
     android:text="@string/middle"
     android:id="@+id/TextView2"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:textSize="40px"
     android:textColor="@color/red"
     >
 </TextView> 

    <TextView
     android:text="@string/small"
     android:id="@+id/TextView3"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:textSize="20px"
     android:textColor="@color/blue"
     >
 </TextView> 
</FrameLayout>

?

?

三、TableLayout:

? ? ? ?1.运行效果:

? ? ??
?

? ?2.源码:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:orientation="vertical">
    
    <TableRow 
        android:id="@+id/tablerow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        >
        <TextView 
            android:id="@+id/textView1"
            android:text="Test"            
            />
        <TextView 
            android:id="@+id/textView2"
            android:text="Test2"
            android:layout_width="200dp " 
            android:layout_gravity="center_horizontal"         
            />
    </TableRow>

      <TableRow 
        android:id="@+id/tablerow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        >
       <ImageView 
           
           android:id="@+id/tableImg"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:src="@drawable/a1"
           
           />         
            
    </TableRow>
     
</TableLayout>

?

四、AbsoluteLayout:

? ? ? ?1.运行效果:


? ? ??
? ?2.源码:

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="34dp"
        android:layout_y="50dp"
        android:text="用户名" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="86dp"
        android:layout_y="34dp"
        android:ems="10" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="93dp"
        android:layout_y="84dp"
        android:ems="10" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="38dp"
        android:layout_y="101dp"
        android:text="密码" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="92dp"
        android:layout_y="185dp"
        android:text="登录" />

</AbsoluteLayout>

?

?

五、Relative Layout:

? ? ? ?1.运行效果:


? ? ?
?

? ?2.源码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
 <Button 
    android:id="@+id/button11"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:text="居中"     
     /> 
    
 <Button 
     android:id="@+id/button12"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/button11"
    android:layout_toRightOf="@+id/button11"
    android:text="右侧"
     /> 
     
 
  <Button 
      android:id="@+id/button13"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/button11"
    android:layout_alignLeft="@+id/button11"
    android:text="上方"
     /> 
</RelativeLayout>

?

六、总结:

LinearLayout:它包含的子控件将以横向或竖向的方式排列,一般也比较常用.

Relative Layout:在相对布局中,子控件的位置是相对于兄弟控件或是父容器而决定的.

AbsoluteLayout:屏幕中所有控件通过设置控件的坐标来指定,控件容器不在负责管理其子控件的位置:

FrameLayout:

?1.在屏幕上开辟一块区域出来,在这个区域可以加很多子控件,但是所有的子控件都被对齐到屏幕的左上角,

?2.帧布局的大小由子控件中尺寸最大的那个控件来决定,如果控件同样大小,那么同一时刻只能看到最上面的子控件

TableLayout:

以行和列的形式管理控件,每行为一个TableRow对象,也可以是一个view对象,当是view对象时,该View对象将跨越该行的所有列,在tableRow中可以添加子控件,每添加一个子控件为一列.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。