6

现在,我正在使用 SDK 1.5 开发 Android 应用程序并在 HTC Hero 上测试应用程序,它的固件是 Android 1.5。

让我来点实际的:在应用程序中,我有一个用于显示图像的 imageview(图像分辨率为 320*480),现在 imageview 可以完美地全屏显示图像,但是当我尝试在 HTC EVO 4G 上对其进行测试时(分辨率为 480*800),图像被拉伸。

那么,我想做的是想在所有屏幕分辨率的手机上显示 320*480 分辨率的图像?我的意思是说,如果手机的分辨率(即 480*800、480*854 或其他)比图像应该显示在屏幕的“中心”部分。

因此,在除 320*480 以外的所有屏幕(不拉伸或剪切)分辨率中在中心显示图像,我必须设置哪些属性?

4

1 回答 1

5

只需设置scaleTypeImageView 的属性。此处可能的值:ImageView.ScaleType您可能希望使用CENTER.

此外,您还面临另一个问题:除了 mdpi 图像之外,您还必须提供 hdpi 图像,这样您的 mdpi 图像不会被 Android 系统自动放大到 hdpi,请在此处阅读更多信息:http: //developer.android.com /guide/topics/resources/providing-resources.html

编辑:哦,我差点忘了:“drawable-mdpi”和“drawable-hdpi”文件夹只有在至少针对 Android 1.6 构建项目时才有可能。因此,您必须将您的设置minSdkVersion为 3 和设置targetSdkVersion为 4,并将图像放入普通的“可绘制”文件夹中,以便 Android 1.5 赶上。请观看 Google I/O 2010 上的此视频以了解更多信息:为所有 Android 设备广撒网

于 2010-09-27T08:11:15.493 回答