iOS 和 Android 应用程序的图像分辨率
Posted
技术标签:
【中文标题】iOS 和 Android 应用程序的图像分辨率【英文标题】:Image resolutions for iOS and Android apps 【发布时间】:2016-09-26 16:04:20 【问题描述】:我正在 Xamarin 中创建一个应用程序,包括 ios 和 android,其中也包含图像。我有两个问题。
我可以拥有一张图像并使用一些 API 调用来根据设备修改分辨率吗?
如果不是,针对 iOS 和 Android 设备(包括手机和平板电脑)需要哪些不同的分辨率
【问题讨论】:
【参考方案1】:当然可以,但这可能会降低性能,尤其是在加载大量图像并且需要经常调整大小的情况下。
我认为最好以正确的分辨率预先提供图像。 Android 和 iOS 都有很好的机制来执行此操作,并且在 Xamarin 中执行此操作的方式与在本机应用程序项目中相同。
在 iOS 中,您可以为您将使用的每张图像添加一个图像集到您的资产目录中,并且该图像的三种不同分辨率将进入该图像集中,有助于保持井井有条。没有固定的分辨率,但您需要 1x、2x 和 3x 版本,其中 1x 是用于非视网膜设备的“基本”版本,2x 应该是 1x 分辨率的两倍,并将用于视网膜设备,其中 3x 应该是 1x 的 res 的 3 倍,并且(我相信)将用于 6 Plus 和 7 Plus iPhone 型号。
对于 Android,它变得有点复杂,但基本上你提供了多个资源图像文件夹(通常命名为“drawable”,但也可以是“mipmap”)在文件夹名称中带有屏幕密度限定符,例如drawable-hdpi 或 mipmap-hdpi。有关详细信息,请参阅此 Android 文档: https://developer.android.com/guide/practices/screens_support.html
以下是您可以使用的屏幕密度限定符: ldpi(低)~120dpi mdpi(中)~160dpi hdpi(高)~240dpi xhdpi(超高)~320dpi xxhdpi(超超高)~480dpi xxxhdpi (extra-extra-extra-high) ~640dpi
再次,图像的实际大小取决于您,但分辨率,例如mdpi 版本希望比 ldpi 文件夹中的版本大 30%,依此类推。
【讨论】:
以上是关于iOS 和 Android 应用程序的图像分辨率的主要内容,如果未能解决你的问题,请参考以下文章
Android 图像资源,需要 10 张图像来满足每个屏幕分辨率和方向