android - 如何在每个显示分辨率(平板电脑、手机等)上显示 2D 图像?

标签 android ios tablet screen-resolution marmalade

我从事编程已有一段时间了,但我最近才开始为手机和平板电脑开发应用程序。我正在使用 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/

相关文章:

android - 使用 JavaCV 进行人脸识别

ios - iOS7 上固定中心的 CALayer 动画比例尺

windows - 如何禁用 Windows 编辑控件上的小触摸键盘

android - 为什么 ASUS Transformer Prime 是唯一出现内存不足异常的设备

Thrive 上的 Android 调试

android - 如何取消对您的 adMob 帐户设置的临时广告转换限制

android - 从代码 [root] 读取当前 APN 名称

android - 我应该在 Android 应用程序中缓存多少 JSON?

ios - 如何仅启用数字数字键盘 ios Swift

ios - UIView 背景颜色与 swift4 中的导航栏不同