市面上android的分辨率参差不齐,设计一款app,既要考虑兼容性,也要考虑轻便性。郑州软件开发一位前辈说可以设计所有分辨率的,然后做一个自适应兼容版,但是这样不会造成安装包过大吗?
不同屏幕比例:RelativeLayout(相对布局)不同屏幕尺寸:Fragment(手机和平板使用不同UI)不同解析度:分解析度使用图片郑州app开发最近对不同解析度的单色图标有了最终解决方案——用字体文件显示矢量图标。郑州软件开发忘了说了,Android里面,基本上所有的视图尺寸单位都用dp、字体尺寸单位用sp,大多数情况下都可以应付。
你的前辈的说法就是通常的做法。为不同的常用分辨率设计不同尺寸的素材,然后再设计一套自适应的素材。APK文件是会大一些,不过安装后就不会有问题了,只会安装设备适合的版本。所以不用担心这个问题。郑州软件开发
郑州app开发Android结构工程师黛安·哈克本(Diane Hackborn)在Google+中描述了公司理念:我们解决显示屏分辨率问题的动机来源于Palm/PalmSource体验。郑州app开发Palm设备传统上采用160x160显示屏。最初,索尼推出320x320显示屏,应用坐标只需扩大一倍即可,软件人员仍能够认为自己是在160x160的显示屏上操作,操作系统通过转换并利用高分辨率显示屏显示更清晰的文本和绘图。郑州软件开发但后来该策略在遭遇QVGA [320x240]显示屏时出现问题。由于QVGA [320x240]显示屏用于大量设备,其生产成本较低。将书写区域放置在显示屏底部,仍能够获得应用所需的预期空间。但其密度在160x160和320x320之间,缩放比例为1.5倍时,问题就出现了。将目标尺寸缩放1.5倍,原来的实线将因实际显示屏分辨率不同而出现不同程度的暗淡斑点。为解决Android面临的显示屏尺寸和分辨率挑战,该操作系统采用密度独立像素(其缩写为dp或dip)方案。郑州软件开发Android针对显示屏分辨率提出的解决方案配合大量布局工具使用。Meridian Apps软件人员尼克·法伦纳(Nick Farina)在博客中称:“一旦软件人员掌握了布局工具,就能够在布局时对肖像/平面设备方向及不同显示屏尺寸进行自动调整。”郑州软件开发Android工程师罗曼·盖伊(Romain Guy)指出:“如果你在应用中标出的按钮为100像素的宽度,该按钮在640x480像素设备中看起来较320x480像素设备中要小得多。现在,如果你对按钮的宽度标为100dip,该按钮尺寸在两款设备上看起来是一样的。”基本上这就是Google给出的解决方案郑州app开发
1.不复杂的页面可以直接用 ScrollView 套 LinearLayout 最简单粗暴,否则一般最外面用 RelativeLayout 以获得最大灵活性。2.如果真有心适配各个分辨率,在 /layout 下面可以按照 dpi 建立不同的文件夹,优化各屏幕下的布局。这一点可以参考 Supporting Different Screens3.不同的分辨率下所用到的图片分辨率/颜色也可能有不同。包括横竖屏时也会有不同。(魅族Flyme 3.0的 Menu icon 在横竖屏切换时用的就不是一套图标)。因此需要对横屏特殊处理的又可以把 selector 文件放到 res/drawable-land 下面。郑州app开发4.脑子里有“fragment”的 概念,尽量把界面切成块用fragment写。也方便手机/平板使用。5.学会用 </include> 和 </merge> 标签郑州软件开发6.总是是很坑很坑很坑呢~~~~