如何不拉伸 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>
输出:
我有一个问题:
我有一个包含一行和两个单元格的 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>
输出: