- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
安卓多分辨率设计
开发手机android应用,必定面临多屏幕支持问题。你一定希望应用程序能在不同的大小的手机上都能很好的展现漂亮的布局和细腻的图片。本文将介绍如何做到这一点。先看看没有支持多分辨率程序的效果。下面是同一个程序运行在两个不同规格的屏幕上的截图。右边这个似乎不可接受。??????????????????????图1:480*800,3.5寸屏???????????????????????图2?????480*800,5寸屏??支持多分辨率后的效果??????????????????????????图3 480*800,3.5寸屏??????????????????????????图4??480*800,5寸屏????????我们先来了解一些屏幕的基本概念:????物理尺寸:?就是所说的几寸的屏幕,代表屏幕对角线的长度,比如3.5寸、3.7寸、4寸、7寸等。????分辨率:?是屏幕总共能显示的像素数,通常我们都说几百×几百,比如240*320,320*480,480*800等????像素密度(DPI):DPI的全称是dots per inch,每英寸点数.????这三个参数,任两个确定后,第三个量就是确定了。公式为:某边的分辨率(总像素数)= 该边物理尺寸(单位是英寸) × 像素密度。????比如一个3.5寸的屏幕,分辨率为480×800,那么密度为开方(480^2+800^2)/3.5 约等于为194。屏幕大小和屏幕像素密度是可以独立的,不是说一个5寸屏的密度就一定是hdpi。????手机屏幕分类???按密度分为:低密度(ldpi),中密度(ndpi),高密度(hdpi),超高密度(xhdpi)。???按尺寸分为: small, normal, large, and xlarge??????????????????????????????????????????图5?????大部分手机集中在normal,hdpi这一栏。可见多屏幕适配的重点在这里。???????????????????图6?????适应多屏幕要分别考虑界面布局和图片资源两个方面(一体两面)。????布局上不考虑多屏幕尺寸,可能出现控件没对齐,尺寸超出屏幕外等。????图片上不考虑多屏幕密度,可能出现图片看起来大小不合适,比较模糊等。????到底要考虑布局,还是考虑图片,或者两者同时考虑由应用决定。我个人觉得,一般布局要考虑得多一些。如果应用有很多图片,而且对现实细腻程度要求很高,才考虑图片。????但是,所谓考虑多屏幕适应,并非要为没每种屏幕大小提供一个布局文件,也并非要为每种屏幕密度提供一套位图,按大的分类提供就可以了。(如果要那样做也没错,但将付出巨大的维护代价)????例如,一般为所有尺寸是normal的屏幕提供一套布局,尽管normal里又分很多种(看图 5),但一般android都能很好的适应。也可以为所有密度是hdpi的屏幕提供一套图片,尽管hdpi也分很多种(看图 5),但一般android都能很好的适应。????另外一方面,即使按大的分类考虑布局文件,也并非要为每个布局文件都创建多个版本。只有布局文件中用数值定义了控件大小(无论你用的单位是px还是dip),才需要考虑写多个布局文件。如果是用fill_parent,wrap-contents等方式则用一个布局文件就可以了,把它放在layout目录里。????根据密度你仅需要提供drawable下的位图文件,如果你使用Xml来定义shape,colors或者其他drawable的资源,你就应该放到drawable/默认目录下????注意:实际开发中,为了适合多屏幕,又减少维护量。mdpi,hdpi内一般要放东西, ldpi则可放可不放。当要用到ldpi时,它从hdpi里去取并缩放。效果也不错。????Android如何选择适合当前屏幕的资源呢?????选取规则如下:???(Drawabe和Drawabe-mdpi等价)???(Layout和layout-normal等价)????1.基于当前屏幕的尺寸和密度,系统会在最匹配的的设备配置下的资源目录寻找。????2.如果没有可用的匹配资源,系统会使用默认资源等比放大或缩小以匹配当前屏幕的大小和密度。这里的默认资源是没有后缀的。????例如对于HVGA,large screen,ldpi的一块屏幕,系统会优先找res/layout-large,res/drawable-ldpi下的资源。如果没有,就使用res/layout和res/drawable????3.如果系统想找一个ldpi(低密度)的资源,但找不到。那么系统会等比缩小hdpi的资源,为什么不寻找mdpi呢?因为系统对于hdpi更容易缩放,它的系数为0.5,相比mdpi的0.75来说。0.5的的性价
您可能关注的文档
最近下载
- 2025新版《党政机关厉行节约反对浪费条例》解读学习课件.pptx VIP
- 高速公路绿化施工组织方案.docx VIP
- 第40届全国中学生物理竞赛复赛试题含答案.pdf VIP
- 【高中数学竞赛真题•强基计划真题考前适应性训练】 专题13 数学归纳法 真题专项训练(全国竞赛+强基计划专用)解析版.docx VIP
- 神经内科抽搐与惊厥.pptx VIP
- 小学生心理辅导(小学教育专业)PPT完整全套教学课件.pptx VIP
- 《马克思主义与社会科学方法论》.pptx VIP
- 第一章 气体PVT关系.ppt VIP
- 一种彻底解决湿法氧化DBC烧结大气泡的方法.pdf VIP
- 高中物理竞赛强基计划真题《光学》考前适应性训练含答案.pdf VIP
文档评论(0)