Java Android ImageButton被它弄得太大了';背景中的图像

Java Android ImageButton被它弄得太大了';背景中的图像,java,android,imagebutton,Java,Android,Imagebutton,我正在将图像动态加载到屏幕上的图像按钮。图像将不会事先知道,并且大小不同 是否有人知道如何确保imagebutton大小不受分配给它的任何图像的影响。最好拉伸图像以适合按钮。我尝试过使用android:scaleType=“fitXY”并将宽度和高度设置为硬值(不可取)。无论我做什么,图像指示按钮的大小,反之亦然!救命啊 我尝试了以下的组合。这些图片是从互联网上随机搜索出来的 <ImageButton

我正在将图像动态加载到屏幕上的图像按钮。图像将不会事先知道,并且大小不同

是否有人知道如何确保imagebutton大小不受分配给它的任何图像的影响。最好拉伸图像以适合按钮。我尝试过使用android:scaleType=“fitXY”并将宽度和高度设置为硬值(不可取)。无论我做什么,图像指示按钮的大小,反之亦然!救命啊

我尝试了以下的组合。这些图片是从互联网上随机搜索出来的

                    <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" />


非常感谢您的帮助

不要设置每个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>


这将强制您的图像按钮不大于其所在容器的大小。

与其设置每个图像按钮的大小,不如将按钮放置在容器布局中并设置容器的大小。例如:

<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>


这将强制您的图像按钮不大于其所在容器的大小。

您正在使用的位图大小不同。所有这些都可以转换为适合您的应用程序的新高度和新宽度。因此,现在的大小将保持不变。使用下面的代码使其具有合适的宽度和高度

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

您正在使用的位图大小不同。所有这些都可以转换为适合您的应用程序的新高度和新宽度。因此,现在的大小将保持不变。使用下面的代码使其具有合适的宽度和高度

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

谢谢,我试试看。我希望我的imagebutton大小根据设备的大小进行更改显示密度/大小-我是否需要根据屏幕大小设置imagebutton大小?是,根据通过getHeight()和getWidth()可以获得的设备大小方法你可以根据你的需要来决定你的图像的大小。这似乎可以将按钮内的图像设置为一个合适的大小,但灰色按钮的大小仍然相同。有什么方法我应该用在按钮上吗?谢谢,我试一下。我希望我的imagebutton大小根据设备的大小进行更改显示密度/大小-我是否需要根据屏幕大小设置imagebutton大小?是,根据通过getHeight()和getWidth()可以获得的设备大小方法你可以根据你的需要来决定你的图像的大小。这似乎可以将按钮内的图像设置为一个合适的大小,但灰色按钮的大小仍然相同。我是否应该在按钮本身上使用一些方法?这将有助于确保imagebutton大小与设备的屏幕大小/密度保持正确。谢谢,我尝试一下。我试过这种方法,高度部分会改变,但宽度不会改变-我使用了与您示例相同的布局。有什么想法吗?在图像中添加android:scaleType=“fitXY”属性。这将有助于确保imagebutton的大小与设备的屏幕大小/密度保持正确。谢谢,我尝试一下。我试过这种方法,高度部分会改变,但宽度不会改变-我使用了与您示例相同的布局。有什么想法吗?将android:scaleType=“fitXY”属性添加到您的图像中。