logo

您所在位置网站首页 > 海量文档  > 教育文化 > 教育文化

android屏幕适配【参考】.docx 18页

本文档一共被下载: ,您可全文免费在线阅读后下载本文档。

  • 支付并下载
  • 收藏该文档
  • 百度一下本文档
  • 修改文档简介
全屏预览

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
Android 屏幕适配屏幕相关概念?1.1分辨率?是指屏幕上有横竖各有多少个像素?1.2屏幕尺寸?指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸?android将屏幕大小分为四个级别(small,normal,large,and extra large)。?1.3屏幕密度?每英寸像素数?手机可以有相同的分辨率,但屏幕尺寸可以不相同,?Diagonal pixel表示对角线的像素值(=),DPI=933/3.7=252?android将实际的屏幕密度分为四个通用尺寸(low,medium,high,and extra high)?一般情况下的普通屏幕:ldpi是120dpi,mdpi是160dpi,hdpi是240dpi,xhdpi是320dpi?对于屏幕来说,dpi越大,屏幕的精细度越高,屏幕看起来就越清楚?1.4密度无关的像素(Density-independent pixel——dip)?】dip是一种虚拟的像素单位?dip和具体像素值的对应公式是dip/pixel=dpi值/160,也就是px = dp * (dpi / 160)?当你定义应用的布局的UI时应该使用dp单位,确保UI在不同的屏幕上正确显示。?手机屏幕分类和像素密度的对应关系如表1所示?手机尺寸分布情况(/resources/dashboard/screens.html)如图所示,?目前主要是以分辨率为800*480和854*480的手机用户居多?从以上的屏幕尺寸分布情况上看,其实手机只要考虑3-4.5寸之间密度为1和1.5的手机?2、android多屏幕支持机制?Android的支持多屏幕机制即用为当前设备屏幕提供一种合适的方式来共同管理并解析应用资源。?Android平台中支持一系列你所提供的指定大小(size-specific),指定密度(density-specific)的合适资源。?指定大小(size-specific)的合适资源是指small, normal, large, and xlarge。?指定密度(density-specific)的合适资源,是指ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high).?Android有个自动匹配机制去选择对应的布局和图片资源?1)界面布局方面? 根据物理尺寸的大小准备5套布局:? layout(放一些通用布局xml文件,比如界面顶部和底部的布局,不会随着屏幕大小变化,类似windos窗口的title bar),? layout-small(屏幕尺寸小于3英寸左右的布局),?? layout-normal(屏幕尺寸小于4.5英寸左右),? layout-large(4英寸-7英寸之间),? layout-xlarge(7-10英寸之间)?2)图片资源方面? 需要根据dpi值准备5套图片资源:? drawable:主要放置xml配置文件或者对分辨率要求较低的图片? drawalbe-ldpi:低分辨率的图片,如QVGA (240x320)? drawable-mdpi:中等分辨率的图片,如HVGA (320x480)? drawable-hdpi:高分辨率的图片,如WVGA (480x800),FWVGA (480x854)? drawable-xhdpi:至少960dp x 720dp?Android有个自动匹配机制去选择对应的布局和图片资源。? 系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。? 在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。?3、AndroidManifest.xml 配置?android从1.6和更高,Google为了方便开发者对于各种分辨率机型的移植而增加了自动适配的功能? <supports-screens? android:largeScreens="true"?? android:normalScreens="true"? android:smallScreens="true"?? android:anyDensity="true"/>?3.1是否支持多种不同密度的屏幕?android:anyDensity=["true" | "false"]?如果android:anyDensity="true"?指应用程序支持不同密度,会根据屏幕的分辨率自动去匹配。?如果android:anyDensity="false"?应用程序支持不同密度,系统自动缩放图片尺寸和这个图片的坐标。具体解释一下系统是如何自动缩放资源的。?例如我们在hdpi,mdpi,ldpi文件夹下拥有同一种资源,那么应用也不会自动地去相应文件夹下寻找资源,这种

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片

“原创力文档”前称为“文档投稿赚钱网”,本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。原创力文档是网络服务平台方,若您的权利被侵害,侵权客服QQ:3005833200 电话:19940600175 欢迎举报,上传者QQ群:784321556