Android - 如何在不同的屏幕上自动重新调整图像大小

时间:2015-04-05 01:02:51

标签: android eclipse imageview

我正在显示固定的图像尺寸,因为它在标签中显示正常,但在较小的屏幕中保持原始尺寸。

我尝试了不同的方法,但没有运气

我发布XML请看看谢谢

   <LinearLayout
            android:id="@+id/mainLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical"
            android:padding="10dp" >

            <ImageView
                android:id="@+id/Item1"
                android:layout_alignParentTop="true"
                android:layout_marginTop="100dip"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:scaleType="fitXY"
                android:src="@drawable/img_A1" />
        </LinearLayout>

感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

android并没有自己调整图像的大小。相反,它从不同屏幕尺寸手机的可绘制资源中获取不同的图像。

ldpi- is for the lower resolutions image phones
mdpi- for medium level density pixels phones
hdpi- for higher density pixels phones
xdpi-for high resolution phones.
xxdpi- for more high resolution phones.

你必须在这些文件夹中存储具有相同名称但尺寸不同的图像,以便android可以根据屏幕大小和分辨率占用相关图像。

答案 1 :(得分:0)

正如已经指出的那样,Android不会调整图像大小。你必须手动完成。你可以使用

scaledBmp = Bitmap.createScaledBitmap(bitmap, width, height, true);

调整图像大小后,您可以调用

item1.setImageBitmap(scaledBmp);