TableLayout学习

简单程序用用LinearLayout,但是当界面复杂了,LinearLayout 就势必要一层套一层的用,这时候,就不如TableLayout 来的顺手了。这是书上的一个实例程序,建立了这样一个界面:

TableLayout

TableLayout布局

acitvity_main.xml的代码如下:

 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:id="@+id/TableLayout01"

    android:layout_width="match_parent"

    android:layout_height="match_parent" 

    android:stretchColumns="1"

        >

<!--   

        android:stretchColumns="1"是设置 TableLayout所有行的第二列为扩展列。   

        也就是说如果每行都有三列的话,剩余的空间由第二列补齐   

        -->

<TableRow >

<TextView

                android:id="@+id/txtLbl1"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:text="@string/txtLbl1"

                android:layout_column="0" />

<EditText 

                android:id="@+id/txtAmount"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:numeric="decimal"

                android:layout_column="2"

                android:layout_span="2"/>

<!-- 

        android:layout_column    指定该单元格在第几列显示

        android:layout_span      指定该单元格占据的列数(未指定时,为1)

            -->

</TableRow>

<TableRow >

<TextView 

                android:id="@+id/txtLbl2"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_column="0"

                android:text="@string/txtLbl2"/>

<EditText 

                android:id="@+id/txtPeople"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:numeric="integer"

                android:layout_column="2"

                android:layout_span="3"/>

</TableRow>

<TableRow >

<TextView 

            android:id="@+id/txtLbl3"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="@string/txtLbl3"/>

</TableRow>

<TableRow >

<RadioGroup 

                android:id="@+id/RadioGroupTips"

                android:orientation="horizontal"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_column="0"

                android:layout_span="3"

                android:checkedButton="@+id/radioFifteen">

<RadioButton 

                    android:id="@+id/radioFifteen"

                    android:layout_width="wrap_content"

                    android:layout_height="wrap_content"

                    android:text="@string/rdoTxt15"

                    android:textSize="15sp"/>

<RadioButton 

                    android:id="@+id/radioTwenty"

                    android:layout_width="wrap_content"

                    android:layout_height="wrap_content"

                    android:text="@string/rdoTxt20"

                    android:textSize="15sp"/>

<RadioButton 

                    android:id="@+id/radioOther"

                    android:layout_width="wrap_content"

                    android:layout_height="wrap_content"

                    android:text="@string/rdoTxtOther"

                    android:textSize="15sp"/>

</RadioGroup>

<EditText 

                android:id="@+id/txtTipOther"

                android:layout_width="match_parent"

                android:layout_height="wrap_content"

                android:numeric="decimal"/>

</TableRow>

<TableRow >

<Button 

                android:id="@+id/btnReset"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_column="2"

                android:text="@string/btnReset"/>

<Button 

                android:id="@+id/btnCalculate"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_column="3"

                android:text="@string/btnCalculate"/>

</TableRow>

<!-- 创建分割线 -->

<View 

            android:layout_height="2px"

            android:background="#DDFFDD"

            android:layout_marginTop="5dp"

            android:layout_marginBottom="5dp"/>

<TableRow 

            android:paddingBottom="10dp"

            android:paddingTop="5dp">

<TextView 

                android:id="@+id/txtLbl4"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_column="0"

                android:text="@string/txtLbl4"/>

<TextView 

                android:id="@+id/txtTipAmount"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_column="2"

                android:layout_span="2"/>

</TableRow>

<TableRow 

            android:paddingBottom="10dp"

            android:paddingTop="5dp">

<TextView 

                android:id="@+id/txtLbl5"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_column="0"

                android:text="@string/txtLbl5"/>

<TextView 

                android:id="@+id/txtTotalToPay"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_column="2"

                android:layout_span="2"/>

</TableRow>

<TableRow 

            android:paddingBottom="10dp"

            android:paddingTop="5dp">

<TextView 

                android:id="@+id/txtLbl6"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_column="0"

                android:text="@string/txtLbl6"/>

<TextView 

                android:id="@+id/txtTipPerPerson"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_column="2"

                android:layout_span="2"/>

</TableRow>

</TableLayout>