- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三分钟搞定安卓适配问题邱春磊 2016-5-26Android屏幕适配出现的原因重要概念屏幕尺寸屏幕分辨率屏幕像素密度dp dip dpi sp pxmdpi hdpi xdpi xxdpi解决方案1、图片适配2、尺寸适配3、布局适配4、代码适配5、权重适配一:Android屏幕适配出现的原因由于Android系统的开放性,任何用户、开发者、OEM厂商、运营商都可以对Android进行定制,修改成他们想要的样子。但是这种“碎片化”到底到达什么程度呢?在2012年,OpenSignalMaps(以下简称OSM)发布了第一份Android碎片化报告,统计数据表明, 2012年,支持Android的设备共有3997种。 2013年,支持Android的设备共有11868种。 2014年,支持Android的设备共有18796种。右边这张图片所显示的内容足以充分说明当今Android系统碎片化问题的严重性,因为该图片中的每一个矩形都代表着一种Android设备详细的统计数据请到/reports/2014/android-fragmentation/这里查看而随着支持Android系统的设备(手机、平板、电视、手表)的增多,设备碎片化、品牌碎片化、系统碎片化、传感器碎片化和屏幕碎片化的程度也在不断地加深。而我们今天要探讨的,则是对我们开发影响比较大的——屏幕的碎片化。右一是Android屏幕尺寸的示意图蓝色矩形的大小代表不同尺寸,颜色深浅则代表所占百分比的大小。右二只是4,4s,5,5c,5s和平板的尺寸,现在还应该加上新推出的iphone6和plus,但是和Android的屏幕碎片化程度相比而言,还是差的太远二,重要概念1. 什么是屏幕尺寸、屏幕分辨率、屏幕像素密度? 屏幕尺寸:是指屏幕对角线的长度。单位是英寸,1英寸=2.54厘米; 比如常见的屏幕尺寸有2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0等屏幕分辨率:是指在横纵向上的像素点数,单位是px,1px=1像素点,一般是纵向像素横向像素,如1280×720; 屏幕像素密度:是指每英寸上的像素点数,单位是dpi,即“dot per inch”的缩写,像素密度和屏幕尺寸和屏幕分辨率有关。在单一变化条件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。 三者关系 例如:计算Nexus5的屏幕像素密度: 屏幕尺寸:4.95inch、分辨率:1920×1080,屏幕像素密度:445 2.dp、dip、dpi、sp、pxpx我们应该是比较熟悉的,前面的分辨率就是用的像素为单位,大多数情况下,比如UI设计、Android原生API都会以px作为统一的计量单位,dip和dp是一个意思,都是Density Independent Pixels的缩写,即密度无关像素,上面我们说过,dpi是屏幕像素密度,假如一英寸里面有160个像素,这个屏幕的像素密度就是160dpi,那么在这种情况下,dp和px如何换算呢?在Android中,规定以160dpi为基准,1dip=1px,如果密度是320dpi,则1dip=2px,以此类推。sp,即scale-independent pixels,与dp类似,但是可以根据文字大小首选项进行放缩,是设置字体大小的御用单位。假如同样都是画一条480px的线,在720*1280分辨率手机上显示为2/3屏幕宽度,在480*800的手机上则占满了全屏,如果使用dp为单位,在这两种分辨率下160dp都显示为屏幕一般的长度。这也是为什么在Android开发中,写布局的时候要尽量使用dp而不是px的原因。下页图例3. 什么是mdpi、hdpi、xdpi、xxdpi、xxxdpi?如何计算和区分? 用于区分不同的像素密度。现在主流的手机,都可以找到自己所在的屏幕密度档次。比如一般来说720p的手机是xhdpi,1080p的是xxhdpi。还有一种情况,比如同样都是4 英寸的480*800和4英寸的960*540,尽管实际算出来的dpi不一样,但是都要归到hdpi这一档,dpi都变成了240,这是Android 系统做的一种近似处理,目的是为了简化计算。也就是说,虽然实际上手机的密度有很多种,但是大家会找到自己的近似区间,然后用区间的代表值去做运算。根据前面讲的屏幕密度区间,你可以记住这样一个简单的计算方法:dp 是一个虚拟的概念,是在程序运行的时候算出来的。怎么理解呢?Android设备那么多,分辨率也那么多,直接学iOS用px做单位肯定不行的。为此 Google搞了一个叫dp的东西,换算公式是dp=(dpi/160)*px。也就是说,在密度为160dpi的屏幕上,1px就是1dp。依次类推, 在320dpi的屏幕上,1dp就是2px。屏幕密度越大,1个dp对应的
您可能关注的文档
- 小班讨论—悬架篇.pptx
- 小鲜发布会方案.pptx
- 尚德大厦静力切割方案.docx
- 尝试探究水温对金鱼呼吸的影响.ppt
- 尝试教学与小学数学.doc
- 尝试教学法.ppt
- 尕曲水电站下闸蓄水报告2015.03.18最终(蓄水验收时修改3月25日下闸)-设计.doc
- 尚庄招标文件.doc
- 尝试教学法课堂操作方法.doc
- 尝试教学法在教育教学中的应用 论文.doc
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 《第一单元 生活中的音乐学习项目二 音乐开启心灵之窗》教案(表格式)七年级音乐人教版(2024新版).pdf VIP
- 成功标书大餐——15份浙江省自然科学基金申请书.pdf VIP
- (辽宁富士电梯)系统故障代码及说明.doc VIP
- 2025版高考政治全程一轮复习必修2第一单元生产资料所有制与经济体制第一课我国的生产资料所有制课件.pptx VIP
- 陕西省专业技术人员继续教育2025公需课《党的二十届三中全会精神解读与高质量发展》20学时题库及答案.docx VIP
- 伤口换药护理操作.pptx VIP
- 贵州01-贵州省居住建筑节能设计标准DBJ52-49-20082.pptx VIP
- 《2023年度中国展览数据统计报告》.docx
- 城市名居商住楼房地产估价报告.doc VIP
- [说明]富士变频器维修与故障处理.doc VIP
文档评论(0)