最适合更大的图像到Android设备?

时间:2010-10-20 19:10:57

标签: android image compression

我有一个1024 x 768的大图像。当图像在Android设备中显示为背景图像时,它会被压缩。有没有办法在所有屏幕分辨率下正确显示图像?


<RelativeLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width = "fill_parent"
 android:layout_height = "fill_parent"
 android:background = "@drawable/titlepage">
</RelativeLayout>

这是我用来设置背景图片的代码。但由于图像非常大,因此在仿真器或设备上查看时似乎会被压缩。

任何帮助都会很棒。

3 个答案:

答案 0 :(得分:1)

您正在谈论多屏幕支持。您需要制作3种类型的图像,HDPI,MDPI和LDPI。它们具有不同的纵横比和不同的尺寸。

查看我关于这个主题的教程,应该解释一切。

http://wonton-games.blogspot.com/2010/07/tutorial-multiple-screen-support.html

或者更简单的方法,如果您只想使用imageView保持纵横比在xml文件中,请执行此操作

<ImageView
        android:id="@+id/background"
        android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/background"
            android:adjustViewBounds="true">
 </ImageView>

这样做是为了保持图像的宽高比并使其适合屏幕。如果宽高比不匹配,你会在任何一侧获得条形图,但这只是一种快捷方式。你可能需要使用layout_width / height来使它适合。

答案 1 :(得分:0)

您需要的是保持图像的分辨率,即图像的宽高比。我担心1024 * 768的比例是1.33,这样的图像适用于台式机。通常移动设备的比率较小(w:h)。例如:对于三星galxy S,它将是0.5,对于Xperia X10,HTC Incredible,它将是0.562。 Android设备屏幕尺寸可能会有所不同您需要为每个mdpi,ldpi和hdpi版本提供合适的映像版本。即便如此,也无法保证图像宽高比能够得到保持。更好的是你的图像是一个9补丁图像,你可以定义图像的哪个部分应该被拉伸,哪个不应该被拉伸,在这里你可以预先设置图像的重要部分。

答案 2 :(得分:0)

为位图创建一个xml可绘制文件。您可以将重力更改为“填充”您仍然会遇到不同宽高比的屏幕问题,但您可以尝试使用夹紧,平铺等来获得您想要的外观。 http://developer.android.com/guide/topics/resources/drawable-resource.html#bitmap-element