如何不拉伸 table 中的按钮图像 | ANDROID

How to not stretch an image of a button in a table | ANDROID

我有一个问题:

我有一个包含一行和两个单元格的 table。我把 table 分成了屏幕的一半。在每个单元格中都有一个具有自己按钮样式的按钮(android:背景)。每个按钮样式都包含一个图像。但问题是图像(按钮)被拉伸了。我不知道我必须更改什么才能让图像不再被拉伸。

这里是 table 布局:

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="1">

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <FrameLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1">

                <Button
                    android:id="@+id/a"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_column="0"
                    android:layout_marginBottom="5dp"
                    android:layout_marginRight="5dp"
                    android:background="@drawable/aa" />

            </FrameLayout>

            <FrameLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1">

                <Button
                    android:id="@+id/b"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_column="1"
                    android:layout_marginBottom="5dp"
                    android:layout_marginLeft="5dp"
                    android:background="@drawable/bb" />

            </FrameLayout>

        </TableRow>
</TableLayout>

按钮样式如下:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
       <item android:drawable="@drawable/aa1"
            android:state_pressed="true" />
       <item android:drawable="@drawable/aa2" />
 </selector>

我必须更改什么才能使图像不被拉伸?图片的比例应该是可用的,并且应该在屏幕的一半中分割。

感谢您的帮助。这很重要。

试试这个布局:使用 ImageButton 而不是 Button 并在 android:src 属性中添加图像。

 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <FrameLayout
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1">

            <ImageButton
                android:id="@+id/a"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_column="0"
                android:layout_marginBottom="5dp"
                android:layout_marginRight="5dp"
                android:background="@android:color/transparent"
                android:padding="15dp"
                android:src="@mipmap/ic_launcher" />

        </FrameLayout>

        <FrameLayout
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1">

            <ImageButton
                android:id="@+id/b"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_column="1"
                android:layout_marginBottom="5dp"
                android:background="@android:color/transparent"
                android:padding="15dp"
                android:src="@mipmap/ic_launcher" />

        </FrameLayout>

    </TableRow>
</TableLayout>

输出: