前一阶段开发android项目,由于客户要求进行多分辨率适配,能够支持国内主流的分辨率手机。因此经过了几次开发走了很多弯路,目前刚刚领略了android多分辨率适配的一些方法。

先介绍一下所走的弯路,由于android的布局文件存放在res的layout中,可以根据不同的手机分辨率指定特定的layou参数,如图所示:。根据不同的手机设定多个分辨率layout参数布局文件。因此再程序加载的过程中,会把运行该分辨率下的布局文件。 这样开发的问题是回到至布局文件很多,很乱。不方便管理。一旦修改需要修改很多布局文件。

通过分析反编译参看国内主流应用(QQ,京东,微信等)的布局文件进行学习,发现布局文件基本是一套的,把布局文件中需要设定的数值文件values设置成多套。合理的布局应该是这样。可以看出布局layout是一套的,但是需要资源的时候drawable可以是多套的,根据分辨率的不同做特别的适配。而对应的values一定是多套的。而且values的适配已经从低分辨率800x432一直到高分辨率1280x752都有对应的数据。而且会根据密度进行单独的适配hdpi,xhdip。这样对于代码是比较容易维护的。

因此根据所获取的信息,本人把项目进行了重构,下面是重构后的布局文件,

短小精干,由于用到的图片资源不多,因此就用一套drawable,用一套布局layout,把对应的value使用多套。在不同手机上运行过。基本上都能够满足用户体验。把数据完整的显示出来,效果也不失真。

【转】android多分辨率适配的更多相关文章

  1. Android多分辨率适配

    前一阶段开发android项目,由于客户要求进行多分辨率适配,能够支持国内主流的分辨率手机.因此经过了几次开发走了很多弯路,目前刚刚领略了android多分辨率适配的一些方法. 先介绍一下所走的弯路, ...

  2. Android多分辨率适配经验总结

      Android多分辨率适配是一件很有意义但是比较麻烦的事情,网上有很多关于多分辨率适配的文章,多数文章讲解的都是整个APP的图片比较规则,可以将图片做成9图来完成多分辨率适配,但是对于一些游戏类应 ...

  3. Android 多分辨率与不同语言适配

    一.适配不同国家语言 智能手机系统设置里各国语言的选项,然后我们项目里可以通过资源目录实现适配语言.我们知道工程的根目录有个res/的目录,res/下有一个资源类型的目录,其中有个values/str ...

  4. Android屏幕适配全攻略 (转载)

    http://blog.csdn.net/jdsjlzx/article/details/45891551 https://github.com/hongyangAndroid/AndroidAuto ...

  5. android多分辨率多密度下界面适配方案

    前言 Android 设计之初就考虑到了UI在多平台的适配,它本身提供了一套完善的适配机制,随着版本的发展适配也越来越精确,UI适配主要受平台两个因素的影响:屏幕尺寸 (屏幕的像素宽度及像素高度)和屏 ...

  6. android多分辨率多屏幕密度下UI适配方案

    相关概念 分辨率:整个屏幕的像素数目,为了表示方便一般用屏幕的像素宽度(水平像素数目)乘以像素高度表示,形如1280x720,反之分辨率为1280x720的屏幕,像素宽度不一定为1280 屏幕密度:表 ...

  7. android 手机 多分辨率适配

    近来在做android屏幕适配这方面的工作, 今天总算有点眉目.  小记一下 基础知识就不科普了, 网上一大堆. 作为一个刚接触这方面人, 最先进入我脑子的, 是从小到大的各种屏, 小到手表, 大到街 ...

  8. 【转】Unity3d + NGUI 的多分辨率适配

    原文地址:http://www.cnblogs.com/cqgreen/p/3348154.html   一.当下移动设备的主流分辨率(数据来自“腾讯分析移动设备屏幕分辨率分析报告”) 1.1 iOS ...

  9. Unity3d + NGUI 的多分辨率适配

    一.当下移动设备的主流分辨率(数据来自“腾讯分析移动设备屏幕分辨率分析报告”) 1.1 iOS设备的分辨率主要有:   宽 高 宽高比 960 640 1.5 1136 640 1.775 1024 ...

随机推荐

  1. Leaflet学习笔记-Leaflet.awesome-markers

    基础篇传送门 http://www.cnblogs.com/CoffeeEddy/p/4919987.html 效果图 是不是感觉很美观啊 为什么选择awesome 地图上面需要各种各样的Mark,难 ...

  2. 【转载】C# HttpWebRequest 发送SOAP XML

    调用webservice的几种方法: 方法一:添加web引用(简单/方便 局限客户端是.net) 方法二:Post xml(本文重点讲述) 方法三:使用微软MSXML2组件(好像在window ser ...

  3. unidac连接FireBird数据库

    dbconn: TUniConnection; with dbconn do    begin      if not Connected then         begin            ...

  4. 自定义scrollbar

    Chrome ::-webkit-scrollbar 整体部分 ::-webkit-scrollbar-track 轨道 ::-webkit-scrollbar-track-piece 内层轨道 :: ...

  5. Hbase案例分析(二)

    情景1:

  6. python之---类和实例

    类和实例: 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但 ...

  7. cocos2dx 环境搭建 win7 +vs2012+ cocos2dx-2.1.4

    转自:http://my.eoe.cn/swer03160828/archive/20067.html 1) 如果在win32 下面编写的cocos2dx 的代码其文件 .cpp,.h 的文件,基本上 ...

  8. Java 声明和访问控制(二) this关键字的访问

    this可以引用本类的静态变量和实例变量,而在静态方法中不能引用实例变量(因为当静态方法加载时,实例变量还没有被定义和初始化) this不可以引用局部变量.例如方法的参数变量,以及在方法中定义的局部变 ...

  9. 【Uvalive 2531】 The K-League (最大流-类似公平分配问题)

    [题意] 有n个队伍进行比赛,每场比赛,恰好有一支队伍取胜.一支队伍败.每个队伍需要打的比赛场数相同,给你每个队伍目前已经赢得场数和输得场数,再给你一个矩阵,第 i 行第 j 列 表示队伍 i 和队伍 ...

  10. X86汇编快速入门

    http://www.cnblogs.com/YukiJohnson/archive/2012/10/27/2741836.html