1、Andrid:控件布局(表格布局)TableLayout
有多少个TableRow对象就有多少行,
列数等于最多子控件的TableRow的列数
直接在TableLayout加控件,控件会占据一行
TableLayout属性(也叫全局属性):*代表所有列
android:shrinkColumns -------设置可收缩的列,(内容过多,则收缩,扩展到第二行,控件没布满TableLayout时不起作用)
android:stretchColumns ------设置可伸展的列,(有空白则填充)
列可以同时具备stretchColumns及shrinkColumns属性
android:collapseColumns ------设置要隐藏的列(索引列从0开始)
内部控件属性:
android:layout_column -------该单元格在第几列显示
android:layout_span -------该单元格占据列数,默认为1
2、布局实例:用表格实现计算机布局
效果图
代码:
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:stretchColumns="*" android:layout_height="match_parent" > <TextView android:gravity="right|center_vertical" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="100dp" android:textSize="25sp" android:text="90" /> <TableRow android:layout_weight="1" android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="match_parent" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="7" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="8" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="9" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="/" /> </TableRow> <TableRow android:layout_weight="1" android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="match_parent" > <Button android:id="@+id/button5" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="4" /> <Button android:id="@+id/button6" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="5" /> <Button android:id="@+id/button7" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="6" /> <Button android:id="@+id/button8" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="*" /> </TableRow> <TableRow android:layout_weight="1" android:id="@+id/tableRow3" android:layout_width="wrap_content" android:layout_height="match_parent" > <Button android:id="@+id/button9" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="1" /> <Button android:id="@+id/button10" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="2" /> <Button android:id="@+id/button11" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="3" /> <Button android:id="@+id/button12" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="-" /> </TableRow> <TableRow android:layout_weight="1" android:id="@+id/tableRow4" android:layout_width="wrap_content" android:layout_height="match_parent" > <Button android:id="@+id/button13" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="0" /> <Button android:id="@+id/button14" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="." /> <Button android:id="@+id/button15" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="+" /> <Button android:id="@+id/button16" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="=" /> </TableRow> <TableRow android:layout_weight="1" android:id="@+id/tableRow5" android:layout_width="wrap_content" android:layout_height="match_parent" > <Button android:layout_span="4" android:id="@+id/button17" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="clear" /> </TableRow> </TableLayout>
3、使用TableLayout要注意的地方
注意拉伸或伸展的问题,这个属性是很重要的。
设置HorizontalScrollView的android:fillViewport="true"。也就是设置是否将HorizontalScrollView的内容宽度拉伸以适应视口(viewport)。