Android 布局是开发中很是重要的一个知识部分,它的布局分为如下几种: android
Linear Layout:线性布局
Relative Layout:相对布局
Table Layout:表格布局
Grid View:网格布局
Tab Layout:选项卡布局
List View:列表布局 布局
以下图: spa
简单来讲,直着排,横着排均可以,还能够嵌套,此布局运用的很是多。 code
下面直接上示例代码及截图:
xml
<?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:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#aa0000" android:gravity="center_horizontal" android:text="red" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#00aa00" android:gravity="center_horizontal" android:text="green" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#0000aa" android:gravity="center_horizontal" android:text="blue" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#aaaa00" android:gravity="center_horizontal" android:text="yellow" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="row one" android:textSize="15pt" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="row two" android:textSize="15pt" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="row three" android:textSize="15pt" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="row four" android:textSize="15pt" /> </LinearLayout> </LinearLayout>
下面详细详解这些配置的含义: three
LinearLayout 标签的经常使用属性
android:orientation="horizontal":定义方向水平或垂直(horizontal/vertical )
android:layout_width="fill_parent" :宽度填充满父控件的宽度
android:layout_height="fill_parent":宽度填充满父控件的高度
android:layout_weight="1":重量?可解释为权重,这是个什么意思呢,请看下图 utf-8
我将这里的配置变了一下, 开发
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#aa0000" android:gravity="center_horizontal" android:text="red" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="2" android:background="#00aa00" android:gravity="center_horizontal" android:text="green" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="3" android:background="#0000aa" android:gravity="center_horizontal" android:text="blue" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="4" android:background="#aaaa00" android:gravity="center_horizontal" android:text="yellow" /> </LinearLayout>
再看一下TextView的解释 it
<TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#aa0000" android:gravity="center_horizontal" android:text="red" />
android:text="red":要显示的内容
android:gravity="center_horizontal":显示内容的对齐方式
android:background="#aa0000" :背景色
android:layout_width="wrap_content":宽度,包括本身的内容的宽度
android:layout_height="fill_parent":高度,填充父控件的高度
android:layout_weight="1":权重 io
其实含义若是懂些CSS属性的话,仍是蛮好懂的,布局跟Div有点相似
//相似一个外层DIV,里面的内容垂直布局android:orientation="vertical"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > //相似第一个子DIV,内容水平布局android:orientation="horizontal" <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal" > </LinearLayout> //相似第二个子DIV,内容垂直布局android:orientation="vertical" <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="vertical" > </LinearLayout> </LinearLayout>