TableLayout 如何与 imageButton 一起工作?

How work TableLayout with imageButton?

我有 Table:

<TableRow
        android:layout_weight="1">
        <ImageButton
            android:background="#111111"
            android:layout_height="match_parent"
            android:src="@drawable/w"
            android:scaleType="fitXY"
            />
        <ImageButton
            android:background="#111111"
            android:layout_height="match_parent"
            android:scaleType="fitXY"
            />
        <ImageButton
            android:background="#111111"
            android:layout_height="match_parent"
            android:scaleType="fitXY"
            />
    </TableRow>
    <TableRow
        android:layout_weight="1">
        <ImageButton
            android:background="#111111"
            android:layout_height="fill_parent"
            />
        <ImageButton
            android:background="#111111"
            android:layout_height="fill_parent"
            />
        <ImageButton
            android:background="#111111"
            android:layout_height="fill_parent"
            />
    </TableRow>
    <TableRow
        android:layout_weight="1">
        <ImageButton
            android:background="#111111"
            android:layout_height="fill_parent"
            />
        <ImageButton
            android:background="#111111"
            android:layout_height="fill_parent"
            />
        <ImageButton
            android:background="#111111"
            android:layout_height="fill_parent"
            />
    </TableRow>
</TableLayout>

起初,一切看起来都很好,但是当我插入图片时,它立即变形,适应图像,如屏幕截图所示。告诉我如何解决这个问题? good table 和 bad table

在 ImageButtons 上,将 AdjustViewBounds 设置为 true。然后将 scaletype 设置为 FitXY。我使用权重和视图来调整大小和位置。对于 TableRow 中的 ImageButton,必须将 layout_width 设置为 0 才能使权重起作用。它的扩展性很好。这应该在 xml:

中的 ImageButton 下
android:layout_height="match_parent"
android:layout_weight="0dp"
android:scaleType="fitXY"
android:layout_weight="1"
android:adjustViewBounds="true"