我从事编程已有一段时间了,但我最近才开始为手机和平板电脑开发应用程序。我正在使用 Marmalade 为平板电脑和手机开发跨平台应用程序。 但我的问题更多是概念性的而非技术性的。
首先让我向您介绍一下我的应用程序。我想开发一款向 children 介绍动物的应用程序。每只动物都有一个小故事。我设计了 1072 x 768 尺寸的每只动物。由于我所有的设计都是矢量,所以我可以很容易地改变图形的尺寸。
我的问题是我应该如何开发我的应用程序以在所有设备上完美显示?新 iPad 中的 Retina 显示屏为 2048 x 1536,iPad 2 和 iPad 1 分辨率为 1024 × 768,iPhone 分辨率为 960 x 640,Samsung Galaxy Tab 分辨率为 1280 x 800 等等(不同设备(平板或手机)有不同分辨率)
只有两个选项可以解决这个问题,AFAK:
1- 设计多种布局(960 x 640 和 1024 x 768)并根据每个设备切换到最接近的分辨率并在屏幕上拉伸(stretch)布局。在这种情况下,Galaxy Tab 用户会看到轻微变形的图像,而 iPad 2 用户会看到完美的图像。
2- 根据显示尺寸重新排列我的图形层,而不是有多个固定布局可供选择。实现这个有点困难,我必须将图像更改为略大于 1024 x 768,因此根据最终平台,我可以在必要时显示隐藏部分。
小伙伴们怎么看?我需要使用哪种方法?有没有其他方法可以解决这个问题?
最佳答案
我不能代表 Android,但 iOS 图形渲染与分辨率无关(基于每个设备系列)。虽然,您面临的主要挑战是渲染矢量图像,因为 iOS 选择的图像文件是 PNG。没有内置的 SVG 渲染器,但是有 an attempt尝试解决这个问题(尽管根本不支持渐变)。基于 CoreGraphics 或 UIKit 的实现将以 1024x768 点呈现 1024x768 图像,无论屏幕是否可以容纳 2048x1536 像素,因为它以点而不是像素运行。
尽管您是对的,但某些外形尺寸需要进行更改(对于基于 iOS 的设备至少需要 2 个,对于 android 外形尺寸可能需要 3 或 4 个)。您不必根据屏幕的确切规范设计图形,而是支持各种纵横比。
关于android - 如何在每个显示分辨率(平板电脑、手机等)上显示 2D 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10779383/