一、布局
1.LinearLayout 线性布局
2.FrameLayout 单帧布局,也有中文翻译为帧布局、框架布局
3.GridLayout网格布局
4.TableLayout 表格布局
常用的属性有
1.android:orientation:可以设置布局的方向
2.android:id - 为控件指定相应的ID
3.android:text - 指定控件当中显示的文字,需要注意的是,这里尽量使用string.xml
4.android:gravity - 指定控件的基本位置,比如说居中,居右等位置
5.android:textSize - 指定控件当中字体的大小
6.android:background - 指定控件所用的背景色,RGB命名法
7.android:layout_width - 指定控件的宽度
8.android:layout_height - 指定控件的高度
9.android:layout_weight - 指定控件的占用比例
10.android:padding - 指定控件的内边距,也就是说控件当中的内容
11.android:sigleLine - 如果设置为真的话,则将控件的内容显示在一行当中
图解
1、 LinearLayout 线性布局
线性布局是Android开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过“android:orientation”属性可以设置线性布局的方向。属性值有垂直(vertical)和水平(horizontal)两种。线性布局的排列在某行或者某列并不会自动换行或换列,就是说如果采用水平布局,控件宽度超过屏幕显示的话,后面的控件都将被隐藏,不会自动换行。
layout_weight属性以控制各个控件在布局中的相对大小。layout_weight属性是一个非负整数值;线性布局会根据该控件layout_weight值与其所处布局中所有控件layout_weight值之和的比值为该控件分配占用的区域。例如,在水平布局的LinearLayout中有两个Button,这两个Button的layout_weight属性值都为1,那么这两个按钮都会被拉伸到整个屏幕宽度的一半。如果layout_weight指为0,控件会按原大小显示,不会被拉伸;对于其余layout_weight属性值大于0的控件,系统将会减去layout_weight属性值为0的控件的宽度或者高度,再用剩余的宽度或高度按相应的比例来分配每一个控件显示的宽度或高度。
看看代码的运行效果
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="2"
android:text="2"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="8"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text=