0

我正在尝试使用带有 TableLayout 和 ImageButtons 的自定义键盘。到目前为止,我已经做到了 在此处输入图像描述

但很明显,我在删除两个连续 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 之间的垂直间距,我该如何删除它?

谢谢。

4

1 回答 1

1

您看到的行为是由于LayoutParams您用于ImageButtons. TableLayoutTableRow是对其子项施加某些约束的小部件(关于使用的Layoutparams值)。您的布局中的ATableRow应该是这样的:

  <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>
于 2012-10-14T07:24:53.160 回答