我需要开发一个 Android 应用程序,我是这个环境的初学者。实际上,我们需要将使用 Objective-C 为 iPhone 编写的现有应用程序移植到 Android。我们目前针对四款设备:Samsung S2、S3、Note 和 Note 2。该应用程序完全由按钮和背景中的自定义图像组成。根据我在 iOS 开发中的经验,我们为非视网膜和视网膜设备设计了 320x480 和 640x960 背景,只要我们提供适当的 @2x 后缀,系统就会选择正确的背景。我试图了解 Android 的处理方式。我已经阅读了 [Supporting Multiple Screens] (http://developer.android.com/guide/practices/screens_support.html) 文档,但我仍然对一些事情感到困惑。
据了解,有大小和密度类别,分别命名为 small、normal、large 和 xlarge 以及 ldpi、mdpi、hdpi、xhdpi。我们需要生成适当的位图资源并将它们放置在正确的“drawable-XY”文件夹下。这看起来像是 iOS 中 @2x 表示法的高级版本。但我不知道我们应该如何准备背景图像。例如,如果我计算正确,Note1 和 Note2 的分辨率分别为 449x718dp 和 431x767dp,因此它们都属于正常尺寸类别。如果我们为 Note1 准备一个背景图片,它的屏幕比例将不会与 Note2 相同,并且必须调整背景图片的大小。因此,系统不处理属于相同尺寸和像素密度类别的不同尺寸设备。所以,我不明白这个系统如何允许我们在相同尺寸密度类别下为类似设备重用相同的背景图像。我们是否应该为 Note1 和 Note2 准备单独的背景图像?如果是这样,这种分类的含义是什么,我是否遗漏了什么?