为了减少UI的工作量,1个APP只提供1套图;
为了减少程序员的重复工作,1个APP只保护1套程序;
为了在各种分辨率下图片不失真,UI依照最高分辨率提供图片;
为了到达理想的效果,图片切分尽可能细,将带有修饰效果的图片全部和背景分离(比如APP的大背景中有树、花草、人物,将这些小场景从背景图中切出来,程序员自己将图贴上去,只是不同分辨率下的尺寸、位置不1样。);
为了图片不变形,图片宽高必须等比缩放;
原则上程序只有1套布局,对有特殊要求的地方,可以创建多套layout文件夹,为主流分辨率提供相应的布局文件;
程序员创建多套values文件夹,文件夹下的dimens.xml文件寄存相应分辨率的图片尺寸和坐标。
将公用的布局抽出,在需要使用的地方以include标签的情势引入。
注:
上面的方案基本上解决了多分辨率适配的问题(项目中大概只需要适配4⑸款分辨率的机型),对分辨率相差较大或屏幕尺寸相差太大的情况,可以斟酌做两套UI和两套程序,这样才能到达比较理想的效果,比如很多APP都提供了手机版和PAD版两个APP。
多分辨率适配通常的做法是在同1套程序下依照分辨率创建多个layout文件夹,但在开发中我发现也能够依照分辨率创建多个values文件夹,比如:values⑴230x800、values⑴920x1200、values⑴969x1536、values⑼74x768,对依照分辨率创建不同文件夹特别需要说明的是:
格式:文件夹名称-大数值x小数值(大数值在前,小数值在后);
文件夹名称中的数值不是机器的真实分辨率,需要减掉通知栏的高度;
同1分辨率在横竖屏情况下是是两个不同的文件夹,比如分辨率为1024x768,通知栏高度为50,那末横屏对应的文件夹为:values⑴024x718,竖屏对应的文件夹为values⑼74x768。