LinearLayout:相当于Java GUI中的FlowLayout(流式布局),就是说一个组件后边跟一个,挨着靠,一个组件把一行占满了,就靠到下一行。
linearlayoutdemo.xml
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="左上按键"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="右上按键"/> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="中间按键" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="左下按键"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="右下按键" /> </LinearLayout> </LinearLayout>
效果:
网格布局:
<TextView android:layout_width="match_parent" android:background="#ff00" android:layout_height="wrap_content" android:text="这是第一个LAY的第一行"/> <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <TableRow> <TextView android:layout_width="match_parent" android:background="" android:layout_height="wrap_content" android:text="2行1列" android:layout_weight="1" /> <TextView android:layout_width="match_parent" android:background="#00ff00" android:layout_height="wrap_content" android:text="2行2列" android:layout_weight="1" /> <TextView android:layout_width="match_parent" android:background="#00f" android:layout_height="wrap_content" android:text="2行3列" android:layout_weight="1" /> </TableRow> </TableLayout> <TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <TableRow> <TextView android:layout_width="match_parent" android:background="#00f" android:layout_height="wrap_content" android:text="第二个LAYOUT第一行1列"/> <TextView android:layout_width="match_parent" android:background="#ff0" android:layout_height="wrap_content" android:text="第二个LAYOUT第一行3列"/> </TableRow> <TableRow> <TextView android:layout_width="match_parent" android:background="#00f" android:layout_height="wrap_content" android:text="第2行1列"/> <TextView android:layout_width="match_parent" android:background="#ff0" android:layout_height="wrap_content" android:text="第2行2列"/> </TableRow> </TableLayout>效果如下
FrameLayout桢布局:就是一层一层往上压,不过要一层比一层小不然看不出效果
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:layout_width="300dp" android:layout_height="300dp" android:background="#FF00" android:layout_gravity="center"/> <Button android:layout_width="250dp" android:layout_height="250dp" android:background="#FF0" android:layout_gravity="center"/> <Button android:layout_width="200dp" android:layout_height="200dp" android:background="#00ff00" android:layout_gravity="center"/> <Button android:layout_width="150dp" android:layout_height="150dp" android:background="#00f" android:layout_gravity="center"/> </FrameLayout>效果如下:
4.GridLayout网格布局相对于表格布局,区别就是可以跨行跨列
<?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:rowCount="5" android:columnCount="4"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="4"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="7"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0" android:layout_columnSpan="2" android:layout_gravity="fill_horizontal"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="5" android:layout_columnSpan="3" android:layout_gravity="fill_horizontal"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="2"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="5"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="8"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="3"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="6"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="9"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="-"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="/"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="*"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="-"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="+" android:layout_rowSpan="2" android:layout_gravity="fill_vertical" /> </GridLayout>效果如下