Android开发布局二

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)。

原文地址:https://www.cnblogs.com/yuluo123/p/6095023.html