添加按钮时,TableLayout的对齐问题

时间:2012-06-26 11:45:39

标签: android android-tablelayout

我为我的应用创建了TableLayout。一切都运行正常,但是一旦我在页面底部添加按钮图像,对齐就会中断。这是输入按钮图像代码之前的图像:

enter image description here

输入按钮图像的代码后:

enter image description here

我的xml布局:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout  
    xmlns:android="http://schemas.android.com/apk/res/android"  
    android:id="@+id/tableLayout1"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:shrinkColumns="*"  
    android:stretchColumns="*"
    android:background="@drawable/authenticinfo">  
    <TableRow  
        android:id="@+id/tableRow1"  
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"  
        android:gravity="center_horizontal">  
        <TextView  
            android:layout_width="match_parent"  
            android:layout_height="wrap_content"  
            android:textStyle="bold"  
            android:typeface="serif"  
            android:textSize="18dp"              
            android:gravity="center"  
            android:layout_span="6"></TextView>  
    </TableRow>  
      <TableRow  
        android:id="@+id/tableRow2"  
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"  
        android:gravity="center_horizontal">  
        <TextView               
            android:layout_width="match_parent"  
            android:layout_height="wrap_content"  
            android:textStyle="bold"  
            android:typeface="serif"  
            android:textSize="38dp"              
            android:gravity="center"  
            android:layout_span="6"></TextView>  
    </TableRow>  
        <TableRow  
        android:id="@+id/tableRow3"  
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"  
        android:gravity="center_horizontal">  
        <TextView  
            android:id="@+id/textView2"  
            android:layout_width="match_parent"  
            android:layout_height="wrap_content"  
            android:textStyle="bold"  
            android:typeface="serif"  
            android:textSize="38dp"               
            android:gravity="center"  
            android:layout_span="6"></TextView>  
    </TableRow>      
            <TableRow  
        android:id="@+id/tableRow4"  
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"  
        android:gravity="center_horizontal">  
         <ImageView
            android:id="@+id/imview"            
            android:layout_centerHorizontal="true"          
             android:layout_gravity="center"
            /> 
    </TableRow>  
     <TableRow  
        android:id="@+id/tableRow5"  
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"  
        android:gravity="center_horizontal">  
        <TextView              
            android:layout_width="match_parent"  
            android:layout_height="wrap_content"  
            android:textStyle="bold"  
            android:typeface="serif"  
            android:textSize="20dp"               
            android:gravity="center"  
            ></TextView>  
    </TableRow>     
             <TableRow  
        android:id="@+id/tableRow6"  
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"  
        android:gravity="center_horizontal">  
        <TextView  
            android:id="@+id/ProductID1"  
            android:text="Product ID"  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>  
        <TextView  
            android:id="@+id/ProductID2"  
            android:text=":"  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>  
        <TextView  
            android:id="@+id/ProductID3"  
            android:text="92173ad0"  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>
    </TableRow>     
             <TableRow  
        android:id="@+id/tableRow7"  
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"  
        android:gravity="center_horizontal">  
        <TextView  
            android:id="@+id/ProductID4"  
            android:text="产品编号 "  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>  
        <TextView  
            android:id="@+id/ProductID5"  
            android:text=":"  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>  
        <TextView  
            android:id="@+id/ProductID6"  
            android:text="92173ad0"  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>
    </TableRow>     
              <TableRow  
        android:id="@+id/tableRow8"  
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"  
        android:gravity="center_horizontal">  
        <TextView               
            android:layout_width="match_parent"  
            android:layout_height="wrap_content"  
            android:textStyle="bold"  
            android:typeface="serif"  
            android:textSize="8dp"               
            android:gravity="center"  
            android:layout_span="6"></TextView>  
    </TableRow> 
<TableRow  
        android:id="@+id/tableRow9"  
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"  
        android:gravity="center_horizontal">  
        <TextView  
            android:id="@+id/Manf1"  
            android:text="生产日期  "  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>  
        <TextView  
            android:id="@+id/Manf2"  
            android:text=":"  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>  
        <TextView  
            android:id="@+id/Manf3"  
            android:text="01 Jan 2012"  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>
    </TableRow> 
<TableRow  
        android:id="@+id/tableRow10"  
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"  
        android:gravity="center_horizontal">  
        <TextView  
            android:id="@+id/Exp1"  
            android:text="有效日期  "  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>  
        <TextView  
            android:id="@+id/Exp2"  
            android:text=":"  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>  
        <TextView  
            android:id="@+id/Exp3"  
            android:text="01 Jan 2015"  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>
    </TableRow>
    <TableRow  
        android:id="@+id/tableRow11"  
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"  
        android:gravity="center_horizontal">  
        <TextView               
            android:layout_width="match_parent"  
            android:layout_height="wrap_content"  
            android:textStyle="bold"  
            android:typeface="serif"  
            android:textSize="8dp"               
            android:gravity="center"  
            android:layout_span="6"></TextView>  
    </TableRow>  
    <TableRow  
        android:id="@+id/tableRow12"  
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"  
        android:gravity="center_horizontal">  
        <TextView  
            android:id="@+id/Mas1"  
            android:text="马来西亚出口许可证   "  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>  
        <TextView  
            android:id="@+id/Mas2"  
            android:text=":"  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>  
        <TextView  
            android:id="@+id/Mas3"  
            android:text=""  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>
    </TableRow>
     <TableRow  
        android:id="@+id/tableRow13"  
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"  
        android:gravity="center_horizontal">  
        <TextView  
            android:id="@+id/China1"  
            android:text="中国的进口许可证   "  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>  
        <TextView  
            android:id="@+id/China2"  
            android:text=":"  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>  
        <TextView  
            android:id="@+id/China3"  
            android:text=""  
            android:textStyle="bold"  
            android:typeface="serif"></TextView>
    </TableRow>    
      <TableRow  
        android:id="@+id/tableRow14"  
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"  
        android:gravity="center_horizontal">  
        <TextView               
            android:layout_width="match_parent"  
            android:layout_height="wrap_content"  
            android:textStyle="bold"  
            android:typeface="serif"  
            android:textSize="28dp"               
            android:gravity="center"  
            android:layout_span="6"></TextView>  
    </TableRow>  


<TableRow  
        android:id="@+id/tableRow15"  
        >  
       <ImageView
            android:id="@+id/imbutt"            
            android:layout_centerHorizontal="true"          
             android:layout_gravity="center"
             android:background="@+drawable/buttonmainmenuoff"
            /> 
            <ImageView
            android:id="@+id/imbutt"            
            android:layout_centerHorizontal="true"          
             android:layout_gravity="center"
             android:background="@+drawable/buttonmainmenuoff"
            /> 
            <ImageView
            android:id="@+id/imbutt"            
            android:layout_centerHorizontal="true"          
             android:layout_gravity="center"
             android:background="@+drawable/buttonmainmenuoff"
            /> 
    </TableRow>

</TableLayout>

1 个答案:

答案 0 :(得分:0)

布局会中断,因为您在末尾添加的ImageViews会拉伸放置它们的列(例如,您添加的第二个ImageView会拉伸保存的TextView :)。你没有说你希望如何放置它们,但你可以做的一件简单事就是将它们包裹在另一个布局中,如LinearLayout这样:

 <TableRow android:id="@+id/tableRow15" >

        <LinearLayout
            android:layout_span="6"
            android:gravity="center" >

            <ImageView
                android:id="@+id/imbutt1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/ic_launcher" />

            <ImageView
                android:id="@+id/imbutt2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/ic_launcher" />

            <ImageView
                android:id="@+id/imbutt3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/ic_launcher" />
        </LinearLayout>
    </TableRow>

当然,如果您愿意,可以使用layout_weight属性传播它们。

作为旁注,您的布局中确实有6列(您将layout_span设置为6)吗?另外,你是否使用那些空的单数TextViews或者你只是将它们用作分隔符(如果这是你想要的,那么你可以考虑在View之外的一个简单的TableRows元素高度)?