安卓分为相对布局,线性布局,网格布局,帧布局,表格布局,绝对布局六种。
1.相对布局(RelativeLayout)
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button1" android:layout_alignParentLeft="true" android:layout_alignParentTop="true"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button2" android:layout_alignParentRight="true" android:layout_alignParentTop="true"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button3" android:layout_centerInParent="true"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button4" android:layout_alignParentLeft="true" android:layout_alignParentBottom="true"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button5" android:layout_alignParentRight="true" android:layout_alignParentBottom="true"/> </RelativeLayout>
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="button3" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@id/button3" android:layout_toLeftOf="@id/button3" android:text="button1" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@id/button3" android:layout_toRightOf="@id/button3" android:text="button2" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/button3" android:layout_toLeftOf="@id/button3" android:text="button4" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/button3" android:layout_toRightOf="@id/button3" android:text="button5" /> </RelativeLayout>
2.线性布局(LinearLayout)
![](https://img-blog.csdn.net/20170408231350065?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVsdV93YW5nNjk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button1" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button2" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button3" /> </LinearLayout>
![](https://img-blog.csdn.net/20170408231514391?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVsdV93YW5nNjk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:hint="Type something"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Send" /> </LinearLayout>
3.网格布局(GridLayout)
![](https://img-blog.csdn.net/20170408231701939?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVsdV93YW5nNjk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
<?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:columnCount="4" android:layout_gravity="center"> <Button android:text="/" android:layout_column="3"/> <Button android:text="1" /> <Button android:text="2" /> <Button android:text="3" /> <Button android:text="*" /> <Button android:text="4" /> <Button android:text="5" /> <Button android:text="6" /> <Button android:text="-" /> <Button android:text="7" /> <Button android:text="8" /> <Button android:text="9" /> <Button android:text="+" android:layout_rowSpan="3" android:layout_gravity="fill"/> <Button android:text="0" android:layout_columnSpan="2" android:layout_gravity="fill"/> <Button android:text="00"/> <Button android:text="=" android:layout_columnSpan="3" android:layout_gravity="fill"/> </GridLayout>
4.表格布局(TableLayout)
![](https://img-blog.csdn.net/20170408232008816?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVsdV93YW5nNjk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="2"> <TableRow android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button2"/> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="1" android:text="button3"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="2" android:text="button4"/> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:layout_width="wrap_content" android:layout_height="match_parent" android:text="button5" android:layout_column="2"/> </TableRow> </TableLayout>5.帧布局(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"> <Button android:id="@+id/button" android:layout_width="150dp" android:layout_height="150dp" android:text="1" /> <Button android:id="@+id/button2" android:layout_width="80dp" android:layout_height="80dp" android:text="2" /> <Button android:id="@+id/button3" android:layout_width="40dp" android:layout_height="40dp" android:text="3" /> </FrameLayout>
6.绝对布局(AbsoluteLayout)