2012-10-14 57 views
0

我想用TableLayout和ImageButtons自定義鍵盤。到目前爲止,我有這個 enter image description here如何用ImageButtons管理TableRow的高度?

但很明顯,我有問題刪除兩個連續TableRows之間的垂直間距。相關代碼如下:

 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@+id/numkeypad" 
       android:orientation="vertical" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:stretchColumns="*" 

       android:layout_gravity="bottom" 
       android:visibility="visible" 
       android:background="@color/contents_text" 
      > 

     <TableRow 
       android:layout_width="wrap_content" 
       android:layout_height="60dp" 
       android:layout_weight="1" 
       > 

      <ImageButton android:id="@+id/numkeypad_1" 
         android:layout_height="60dp" 
         android:layout_weight="0.33333333333333" 
        android:layout_width="wrap_content" 
        android:src="@drawable/k1" 
        > 
      </ImageButton> 
      <ImageButton android:id="@+id/numkeypad_2" 
        android:layout_weight="0.33333333333333" 
        android:layout_width="wrap_content" 
        android:layout_height="60dp" 
        android:src="@drawable/k2"> 
      </ImageButton> 
      <ImageButton android:id="@+id/numkeypad_3" 
        android:layout_weight="0.33333333333333" 
        android:layout_width="wrap_content" 
        android:layout_height="60dp" 
        android:src="@drawable/k3"> 

      </ImageButton> 
     </TableRow> 

     <TableRow      android:layout_width="wrap_content" 
             android:layout_height="60dp" 
             android:layout_weight="1"> 
      <ImageButton android:id="@+id/numkeypad_4" 
         android:layout_weight="0.33" 
         android:layout_width="wrap_content" 
         android:layout_height="match_parent" 
         android:src="@drawable/k4" 
        > 
      </ImageButton> 
      <ImageButton android:id="@+id/numkeypad_5" 
        android:layout_weight="0.33" 
        android:layout_width="wrap_content" 
        android:layout_height="60dp" 
        android:src="@drawable/k5"> 
      </ImageButton> 

      <ImageButton android:id="@+id/numkeypad_6" 
         android:layout_weight="0.33" 
         android:layout_width="wrap_content" 
         android:layout_height="60dp" 
         android:src="@drawable/k6"> 

      </ImageButton> 
     </TableRow> 

有人能指出我是什麼原因造成這兩個TableRows,我怎麼能刪除它之間的垂直間距?

謝謝。

+0

什麼用的'TableRows'和意見'layout_weights'在'TableRows'的目的是什麼? – Luksprog

+0

那麼,我不知道如何去除間距,因此,我試圖在任何地方都有重量。我只是驗證它是否會起作用。 – PCoder

+0

刪除權重,爲所有ImageButtons添加'android:background =「@ null」'並仔細檢查'ImageButtons'的'src'圖像是否不包含您看到的空間。 – Luksprog

回答

1

您看到它的行爲是由於LayoutParams用於ImageButtonsTableLayoutTableRow是對其子女施加某些限制的小部件(關於使用的Layoutparams值)。一個TableRow在佈局應該像這樣 :

<TableRow 
      android:layout_width="wrap_content" 
      android:layout_height="60dp" > 

     <ImageButton android:id="@+id/numkeypad_1" 
       android:src="@drawable/k1" 
       android:background="@null" /> <!-- remove and possible padding from the Button drawable --> 
     <ImageButton android:id="@+id/numkeypad_2" 
       android:src="@drawable/k2" 
       android:background="@null" /> 
     <ImageButton android:id="@+id/numkeypad_3" 
       android:src="@drawable/k3" 
       android:background="@null" /> 
    </TableRow> 
相關問題