关于"android"支持多分辨率的讲解很多,以下有些不错的博客


http://blog.csdn.net/z343929897/article/details/27337537 当中有些地方说的不是太对,很多厂商并不是只支持一套,


主要实现方式还是参看了android developer的文档,以及sample


http://developer.android.com/training/multiscreen/screensizes.html


以下内容转自改网站 http://www.androidchina.net/1860.html,对于开发过程中有很大帮助


Android多分辨率适配是一件很有意义但是比较麻烦的事情,网上有很多关于多分辨率适配的文章,多数文章讲解的都是整个APP的图片比较规则,可以将图片做成9图来完成多分辨率适配,但是对于一些游戏类应用(这里说的游戏没有使用游戏引擎)、低龄儿童应用,APP中有很多花哨的图片,这种APP的图片显然无法做成9图,在网上查了很多资料始终没有比较理想的解决方案,结合自己最近做的项目介绍一下针对这种情况下的多分辨率适配:

  • 为了减少UI的工作量,一个APP只提供一套图;
  • 为了减少程序员的重复工作,一个APP只维护一套程序;
  • 为了在各种分辨率下图片不失真,UI按照最高分辨率提供图片;
  • 为了达到理想的效果,图片切分尽量细,将带有修饰效果的图片全部和背景分离(比如APP的大背景中有树、花草、人物,将这些小场景从背景图中切出来,程序员自己将图贴上去,只是不同分辨率下的尺寸、位置不一样。);
  • 为了图片不变形,图片宽高必须等比缩放;
  • 原则上程序只有一套布局,对于有特殊要求的地方,可以创建多套layout文件夹,为主流分辨率提供相应的布局文件;
  • 程序员创建多套values文件夹,文件夹下的dimens.xml文件存放相应分辨率的图片尺寸和坐标。
  • 将公用的布局抽出,在需要使用的地方以include标签的形式引入。

注:

  • 上面的方案基本上解决了多分辨率适配的问题(项目中大概只需要适配4-5款分辨率的机型),对于分辨率相差较大或者屏幕尺寸相差太大的情况,可以考虑做两套UI和两套程序,这样才能达到比较理想的效果,比如很多APP都提供了手机版和PAD版两个APP。
  • 多分辨率适配通常的做法是在同一套程序下按照分辨率创建多个layout文件夹,但在开发中我发现也可以按照分辨率创建多个values文件夹,比如:values-1230×800、values-1920×1200、values-1969×1536、values-974×768,对于按照分辨率创建不同文件夹特别需要说明的是:
  • 格式:文件夹名称-大数值x小数值(大数值在前,小数值在后);
  • 文件夹名称中的数值不是机器的真实分辨率,需要减掉通知栏的高度;
  • 同一分辨率在横竖屏情况下是是两个不同的文件夹,比如分辨率为1024×768,通知栏高度为50,那么横屏对应的文件夹为:values-1024×718,竖屏对应的文件夹为values-974×768。
这个博客说明也不错http://blog.csdn.net/lincyang/article/details/44174997



更多相关文章

  1. Android实战简易教程-第二十七枪(Android设置头像上传功能实现)
  2. 利用手势放大图片,并限制图片不超过边界,一般用于大图查看
  3. android创建optionsmenu的方法
  4. 小白学习android: google code 上源代码的下载方法
  5. Android获取SD卡中选中图片的路径(URL)
  6. Android目录结构--drawable和drawable-v24区别
  7. 网络图片浏览器
  8. MediaScanner
  9. 【原创】Android仿新浪微博的“更多”页面效果

随机推荐

  1. 怎么用php编写一个像windows的回收站呢?
  2. 在Paragraphs中显示mysql内容时出现问题
  3. 在MySQL数据库中搜索与多个Tag记录相关/
  4. Apache服务器压缩和利用浏览缓存问题
  5. phpcms日期--汉字与数字的转换
  6. PHP开发API接口注意事项
  7. YII2与Thinkphp整合阿里云OSS
  8. 使用php保存在SlickGrid中的更改。
  9. JS中utf8和GBK的字符编码转换
  10. thinkPHP的数据添加、修改、删除