基本概念:

1、px
像素单位,构成图片的最小单位,1px相当于屏幕的一个物理像素点。
2、分辨率
屏幕的宽度上的像素点 * 高度上的像素点,例如1280*720。
可以通过命名 vm size 获取分辨率信息

 wm size
Physical size: 1280x480

3、屏幕尺寸
指的是屏幕对角线的长度,单位是英寸。1英寸=2.54厘米。
4、dpi
屏幕像素密度,指的是每英寸上面的像素点个数,dpi越高,屏幕呈现的画质就越清晰。
可以通过adb命名 getprop 获取dpi的大小。

  cd system
/system # getprop | grep sf
[ro.sf.lcd_density]: [160]

根据dpi的不同,可以区分出drawable文件:

  • mdpi 120dpi ~ 160dpi
  • hdpi 160dpi ~ 240dpi
  • xhdpi 240dpi ~ 320dpi
  • xxhdpi 320dpi ~ 480dpi
  • xxxdpi 480dpi ~ 640dpi

5、dp
dp也就dip,即Density-independent pixel (dp)独立像素密度,这是谷歌为了方便开发人员适配而做的一个单位。谷歌规定,当dpi为160的时候,1dp = 1px。例如一张160dp160dp的控件,在160dpi的屏幕上,它占用的像素点也是160px * 160px,也就是1英寸 * 1英寸;如果这个控件是在320dpi的屏幕上,1dp = 2px,它占用的像素点就是320px320px,但还是1英寸*1英寸。
如果这两种设备的尺寸都是10.4寸(车机是经常有这种尺寸的),那么就可以完美适配尺寸,不用修改控件的大小;但是如果这两个设备的尺寸差距较大,那么就会出现小尺寸的控件放在大尺寸的的设备上,会留空白,大尺寸的控件放在小尺寸上会显示不全。

适配方案:

车机的屏幕尺寸很多,而且跟手机的尺寸不一样,比如有1920720 12.3寸、1920720 8.8寸、1280720 10.4寸、1280480 8.8寸、800*480 7寸等等。
我们通常需要分别给它们建立资源文件,以便准确地对应图片和尺寸:

如果遇到某些项目,不同的尺寸,UI布局也会有小改动的话,可以如下适配:

资源文件的命令规则如下:
values-mcc310(sim卡运营商)-en(语言)-sw320dp(屏幕最小宽度)-w720dp(屏幕最佳宽度)-h720dp(屏幕最佳高度)-large(屏幕尺寸)-long(屏幕长短边模式)-port(当前屏幕横竖屏显示模式)-car(dock模式)-night(白天或夜晚)-mdpi(屏幕最佳dpi)-notouch(触摸屏模类型)-keysexposed(键盘类型)-nokey(硬按键类型)-navexposed(方向键是否可用)-nonav(方向键类型)-v7(android版本)

需要注意的是:
对于指定分辨率的属性(例如:values-hdpi-1024x600,values-hdpi-960x540,values-mdpi-1024x600),指定分辨率属性并没出现在官网的匹配属性集里,也没找到对于分辨率属性的详细说明,有时候我们会发现这个命名在某些机型上存在适配不成功,我们可能就需要换一种适配命名了。

当然,如果有一些特殊的情况,我们就可以特殊地适配了:
1、屏幕尺寸相同,像素密度不同
这种情况尺寸用dp较为合适,且适配的时候,不需要再建立其他尺寸的资源文件,只需要区分不同dpi的图片即可。
2、分辨率相同,屏幕尺寸不同
比如都是1280*720的分辨率,一个是10.4寸的,一个是8.8寸的。这个时候,尺寸的单位使用px比较合适,这个时候图片和资源文件都不用再区分了,因为图片也是针对于像素点,px也是像素点,相当于把等比例缩小或者放大。

车机屏幕适配方案总结相关推荐

  1. 使用今日头条屏幕适配方案时,Android 布局突然错乱

    背景: 项目是采用的 今日头条屏幕适配方案 'me.jessyan:autosize:1.2.1' 再运行调试APK到模拟器时,突然出现了该错误,在真机也会出现,不过触发概率都非常小.当退出应用,再次 ...

  2. 安卓屏幕适配方案(根据今日头条方案,升级版)

    前言 屏幕适配方案有很多,比如原生的dp,鸿洋大神的AutoLayout,宽高限定符,今天我用缺点比较小的今日头条方案 头条适配方案的文章链接:https://mp.weixin.qq.com/s/d ...

  3. 今日头条屏幕适配方案落地研究

    目录 前言 各平板数据比较 为什么看起来更小了?(头条方案跟最小宽度方案比较) smallesWidth 方案迁移 优缺点 issue 附录(适配核心代码) 前言 大家好,现在给大家推荐一种极低版本的 ...

  4. 11-Flutter移动电商实战-首页_屏幕适配方案和制作

    11-Flutter移动电商实战-首页_屏幕适配方案和制作 1.flutter_ScreenUtil插件简介 flutter_ScreenUtil屏幕适配方案,让你的UI在不同尺寸的屏幕上都能显示合理 ...

  5. android屏幕适配教程,Android屏幕适配方案,android屏幕适配

    Android屏幕适配方案,android屏幕适配 文章转载禁止用于商业用途,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处莫高雷草原以及作者@JiongBull. Android屏幕适配方 ...

  6. 给你一个全自动的屏幕适配方案(基于SW方案)二 —— Calces.Screen插件拓展功能升级...

    如果不了解Calces.screen插件的用法或者想深入了解sw( Smallest Width) 屏幕适配方案的话,可以阅读上一篇文章: 给你一个全自动的屏幕适配方案(基于SW方案)!-- 解放你和 ...

  7. Cocos2d-html5 2.2.2的屏幕适配方案

    来自:http://www.cocos2d-x.org/docs/manual/framework/html5/resolution-policy-design/zh 关于屏幕适配 作为WEB开发者, ...

  8. 2021年最详细的Android屏幕适配方案汇总

    1 Android屏幕适配的度量单位和相关概念 建议在阅读本文章之前,可以先阅读快乐李同学写的文章<Android屏幕适配的度量单位和相关概念>,这篇文章包含了阅读本文的一些基础知识,推荐 ...

  9. 移动端高清、多屏幕适配方案

    2019独角兽企业重金招聘Python工程师标准>>> 移动端高清.多屏幕适配方案 http://div.io/topic/1092 https://github.com/amfe/ ...

  10. android smallestWidth 限定符屏幕适配方案dimens.xml

    简介 smallestWidth 限定符适配方案 这个方案的的使用方式和我们平时在布局中引用 dimens 无异,核心点在于生成 dimens.xml 文件,但是已经有大神帮我们做了这 一步 ├── ...

最新文章

  1. php10-e 豪华版,华为畅享 10e 规格参数
  2. Android 2D游戏引擎AndEngine配置环境
  3. 使用 openssl反弹加密 shell
  4. 第四范式发布Sage AIOS 2.0及智能应用市场Sage App Store
  5. Oracle Goldengate ORA-21780故障处理
  6. (一个)AngularJS获取贴纸Hello World
  7. 使用API获得SAP CRM Sales Area数据
  8. oracle必须声明标识符函数,引用变量时需要必须声明标识符
  9. 对软件工程的问题及个别软件的分析
  10. android 的a标签,Android开发技巧之在a标签或TextView控件中单击链接弹出Activity(自定义动作)...
  11. 校园导航系统(查询各景点信息,多个建筑点的最佳访问路径、任意点的建筑查询) 超详细!! 博主可答疑,代码免费给
  12. 人大金仓数据库软件下载
  13. 转载一篇c语言深度文章 《一个“蝇量级” C 语言协程库》
  14. 数字图像处理与Python实现-边缘检测-高斯差分(DoG)算子边缘检测
  15. Seagull PHP框架学习教程之二
  16. 【php】php开发环境的搭建
  17. Generative Modeling by Estimating Gradients of the Data Distribution(paper reading)
  18. Amazon UK 可通过EDI实现哪些业务单据对接?
  19. 使用kali破解WiFi抓不住包问题和No such BSSID available.问题的解决方法----airodump-ng、aireplay-ng
  20. jmeter-while控制器使用总结

热门文章

  1. 大话GraphQL新手上车
  2. ISA防火墙基础及应用
  3. linux c 读取.bin文件
  4. idc机房安装服务器系统,IDC机房运维之(硬件篇)
  5. 易宝支付java待遇_Java学员张**入职易宝支付月薪12000元
  6. 乐观的态度使工作充满激情
  7. 几何布朗运动模拟 MATLAB实现
  8. [附源码]SSM计算机毕业设计小型银行贷款管理系统JAVA
  9. 一人一猫旅行记之浅析单例模式
  10. mysql error 1236_【MySQL】Got fatal error 1236原因和解决方法