一、屏幕适配是什么?由于安卓系统的开放性,不同的厂家都可以根据自己的需要修改Android系统,手机屏幕尺寸也各不相同,对于用户来说可以有不同的选择,但是对于软件开发者而言确实很头痛,一个软件需要同时适配不同尺寸的屏幕,确保给用户带来更好的体验。
二、主流适配1.宽高限定符适配宽高限定符适配也可以叫屏幕分辨率适配,需要在res文件下创建各种针对不同屏幕分辨率对应的values文件夹。
当软件运行在手机上时,系统会根据手机的屏幕分辨率去找对应的values文件,如手机分别率是1280X800,这个时候系统就会加载values-1280x800的dimens文件,这样设计图上设计的控件在手机上显示就正常了。达到了适配的需求,简而言之就是,需要创建不同分辨率的文件夹,系统会根据当前手机的分辨率去加载对应文件。如果手机的分辨率种类太多,就会造成需要创建的文件较多,导致apk包变大。而且只有屏幕分辨率和文件完全匹配才能进行适配。
2.SmallestWidth适配SmallestWidth适配可以称为最小宽度适配。不管屏幕是横屏还是竖屏,都会以最小的那一边作为宽度进行适配。
SmallestWidth适配是以dp为单位进行适配,如设计图宽度为375,以最小宽度进行换算。
编辑
编辑
当手机宽度为300dp时,设计图上为375dp时,将300dp等分为375份,每一份对应的就是0.8dp。当手机为720x300时就会引用sw300dp文件的dimens文件进行适配。如果当手机宽度为311dp时,系统如果找不到sw311dp文件,就会找最小最接近的文件进行适配sw310dp文件。这样确保即使遇到手机分辨率对应的文件不存在时,也能对屏幕进行适配。
3.今日头条适配在屏幕适配时有一个公式为dp=px/density。
px:像素,在分辨率1080*1920的屏幕,单位就是px,横屏上有1080个物理像素点,竖屏上有1920个物理像素点。
dp:单位,Android上计算控件宽高的单位。
density:每个手机上固定的值。为1dp所占有的像素点。
通常情况下,不同分辨率的手机对应的px不同,经过计算后的dp值也不同,这就出现同一个软件中的控件在不同的手机上对应的dp值不同。就会出现展示的差异。如果保证不同分辨率的手机能正常显示相同dp宽高的控件。动态改变density的值,确保px与density的比值不变。今日头条的适配方法就是通过改变density的值来确保控件在不同分辨率下依然能够正常显示。
总结通过以上三种适配方法的简单对比,可以为开发者根据业务需求的不同进行选择。如有不对之处,欢迎批评指正。
本文来自“七秒鱼.”用户投稿,该文观点仅代表作者本人,不代表华夏信息网立场,本站不对文章中的任何观点负责,内容版权归原作者所有、内容只用于提供信息阅读,无任何商业用途。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(文章、内容、图片、音频、视频)有涉嫌抄袭侵权/违法违规的内容,请发送邮件至1470280261#qq.com举报,一经查实,本站将立刻删除、维护您的正当权益。如若转载,请注明出处:http://www.xxxwhg.com/zh/104375.html