程序员人生 网站导航

Android多分辨率适配经验总结

栏目:综合技术时间:2015-03-19 07:57:27
??Android多分辨率适配是1件很成心义但是比较麻烦的事情,网上有很多关于多分辨率适配的文章,多数文章讲授的都是全部APP的图片比较规则,可以将图片做成9图来完成多分辨率适配,但是对1些游戏类利用(这里说的游戏没有使用游戏引擎)、低龄儿童利用,APP中有很多花梢的图片,这类APP的图片明显没法做成9图,在网上查了很多资料始终没有比较理想的解决方案,结合自己最近做的项目介绍1下针对这类情况下的多分辨率适配:
  • 为了减少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。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐