Android ImageButton在背景中的图像太大了

时间:2012-10-19 17:29:58

标签: java android imagebutton

我正在动态将图片加载到屏幕上的图片按钮。图像将不会提前知道,并且是差异大小。

有没有人知道如何确保图像按钮大小保持不变,无论分配给它的图像是什么。优选地拉伸图像以适合按钮。我已经尝试使用android:scaleType =“fitXY”并将ewidth和height设置为硬值(不是更可取)。无论我做什么,图像都决定了按钮的大小,反之亦然!救命啊!

我尝试了以下的组合。这些图像来自互联网搜索。

                    <ImageButton
                        android:id="@+id/ImageButton1"
                        android:layout_height="93px"
                        android:src="@drawable/image1"
                        android:layout_width="93px"
                        android:background="93px" />
                    <ImageButton
                        android:id="@+id/ImageButton4"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:src="@drawable/image1"
                        android:scaleType="fitXY" />

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:5)

不是设置每个ImageButton的大小,而是将按钮放在容器布局中并设置容器的大小。例如:

<LinearLayout
        android:id="@+id/container"
        android:layout_width="80dp"
        android:layout_height="80dp" >

        <ImageButton
            android:id="@+id/ImageButton1"
            android:src="@drawable/image1"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:scaleType="fitXY" />
</LinearLayout>

这应该强制您的图像按钮不大于它所在容器的大小。

答案 1 :(得分:1)

您拥有的位图大小不同。所有这些都可以转换为newHight和newWidth,它们可能适合您的应用。现在尺寸将保持不变。使用下面的代码使其具有合适的宽度和高度

Bitmap yourBitmap;
Bitmap resized = Bitmap.createScaledBitmap(yourBitmap, newWidth, newHeight, true);