首页 > 代码库 > 【Android开发-5】界面装修,五大布局你选谁

【Android开发-5】界面装修,五大布局你选谁

前言:如果要开一家店,门店装修是很重要的事情。有钱都请专门的建筑设计公司来设计装修,没钱的只能自己瞎折腾,好不好看全凭自己的感觉。像Android开发,在移动端大家看到的界面视觉不咋滴,一般连打开的动力都没了。所以Android开发就有了专门的UI设计人员,既然有了UI设计图,那怎么布局就需要靠自己去选择了,五大布局中可以随意选,只要能达到你的UI设计图的效果。设计图给你了,你选哪位装修工给你装修,就看效率了;不用说,我们都选择效率高的来装修。


Android的五大布局:

1.线性布局(LinearLayout)

2.相对布局(RelativeLayout)

3.帧布局(FrameLayout)

4.表格布局(TableLayout)

5.绝对布局(AbsoluteLayout)


一、线性布局

首先直接看效果图:


接着看界面布局文件中的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#aa0000" 
        android:text="线性布局实战--垂直效果"
        android:layout_gravity="center"
         />
      <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#00ff00" 
        android:text="线性布局实战--垂直效果"
        android:gravity="center"
         />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal">
       <TextView
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:background="#FFC0CB" 
        android:text="线性布局实战--垂直效果"
        android:layout_gravity="center"
        android:layout_weight="1"
         />
         <TextView
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:background="#b0e0e6"
        android:text="线性布局实战--垂直效果"
        android:layout_gravity="center"
        android:layout_weight="1"
         />
    </LinearLayout>

</LinearLayout>

感性分析理解下:

LinearLayout中的android:orientation是线性布局中很重要的一个属性,通过设置两个属性值:vertical和horizontal,它可以让包含在LinearLayout中的子控件按照垂直或者水平方向来布局。


上面还有用到布局中常用的属性,我们也先感性的认识下:

android:layout_width设置布局宽度

android:layout_height设置布局高度(这两个属性,它的值可以设置有match_parent、wrap_content、fill_parent,分别代表匹配父控件高度或宽度,包裹内容的高度或宽度、充满父控件,效果图中可以看到相应效果)

android:layout_gravity 设置控件的位置,它的属性值有center/right/left等

android:gravity 设置控件中内容位置,它的属性值有center/right/left等

android:background 设置背景色

android:layout_weight 设置控件在LinearLayout中的所占的相对大小比例,这个要大家实践多个控件各种比例,才能更好理解

android:text 设置控件的文本值

注:对于线性布局,当然还可以嵌套各种布局,上面就线性布局嵌套了线性布局;其实各种布局可以互相嵌套,只要没出错就行,实践出真理。


二、相对布局(很晚了,明晚继续)