Android系统如何在多个资源文件夹下查找匹配最合适的资源:查找的原则是先找限定符目录下的资源,找不到就就近向上找,一直找不到在回来向下找,比如xhdpi的需求先找xhdpi文件资源,找不到就到xxhdpi找,找不到再到xxxhdpi找,找不到再到hdpi,找不到再到mdpi

需求xhdpi资源, xhdpi--->xxhdpi--->xxxhdpi---->hdpi--->mdpi--->ldpi--->无限定符的文件找

适配的三个因素:屏幕尺寸、屏幕分辨率、屏幕像素密度sqrt(分辨率高*分辨率高+分辨率宽*分辨率宽)/尺寸 ≈ 像素密度

显示分辨率就是屏幕上显示的像素个数,分辨率160×128的意思是水平方向含有像素数为160个

五种主流的像素密度(MDPI、HDPI、XHDPI、XXHDPI 和 XXXHDPI)应按照 1:1.5:2:3:4 的比例进行缩放

比如只有hdpi有一个500x500的图片,要是在xxhdpi中调用,及1.5:3,那就是1000x1000的图片

比如启动图标标准

手机显示像素 =  图片实际像素尺寸 × 机型DPI / 所在资源目录DPI

支持各种屏幕尺寸

1,控制View的高宽,使用wrap_content(自适应大小)、match_parent(强制扩展到父元素宽高)、weight(权重,LinearLayout特有属性),

2,

使用相对布局,禁用绝对布局

单位使用dp代替px,根据设计稿的按什么原型标注,有px转为dp,比如设计图按照720设计,那就是20px标注=10dp;

字体使用sp,sp和dp类似

3,使用尺寸限定符

比如res/layout-large较大屏幕(例如 7 英寸或更大的平板电脑)的设备上选择此布局,对于最小宽度大于等于 600 dp 的设备,系统会选择 layout-sw600dp,

可使用限定符的 drawable,layout,values

4,使用 .9自动拉伸图片,使用非密度制约像素 dp,sp   1dp = 1px * (sqrt(a*a+b*b)/c)/160

像素密度 假设a,b分别为两个直角边,c为斜边,由勾股定理可得出计算方式:sqrt(a*a+b*b)/c

5,最后带java代码中适配

0dpi ~ 120dpi ldpi
120dpi ~ 160dpi mdpi
160dpi ~ 240dpi hdpi
240dpi ~ 320dpi xhdpi
320dpi ~ 480dpi xxhdpi
480dpi ~ 640dpi xxxhdpi
  • dp(设备独立像素)与px的转换
    因为ui设计师给你的设计图是以px为单位的,Android开发则是使用dp作为单位的,那么我们需要进行转换:

| 密度类型                | 代表的分辨率(px) | 屏幕密度(dpi)|换算(px/dp) 
| --------------------- |:-------------:| -------------------:| -------------:|
| 低密度(ldpi)              240x320                     120              1dp=0.75px
| 中密度(mdpi)           320x480                      160              1dp=1px
| 高密度(hdpi)             480x800                     240              1dp=1.5px
| 超高密度(xhdpi)        720x1280                    320             1dp=2px
| 超超高密度(xxhdpi)  1080x1920                    480            1dp=3px

sp和dp很类似但唯一的区别是,Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。

参考:

http://www.cocoachina.com/android/20151030/13971.html

http://blog.csdn.net/dfskhgalshgkajghljgh/article/details/50564682

http://www.jianshu.com/p/ec5a1a30694b

PPi和Dpi的区别

分辨率只能用来描述图片的像素信息,不能描述图片清晰度

PPI只能用来描述屏幕的显示密度,也不能描述图片的清晰度

DPI才能用来描述图片显示的清晰度,表示图片在屏幕上的显示效果。

当图片分辨率与屏幕显示像素相同时, DPI与PPI值相等

当图片分辨率大于屏幕显示像素时, DPI与PPI值相等,图片显示较差

当图片分辨率小于屏幕显示像素时, DPI值< PPI值相等,图片显示正常,屏幕未达到最佳显示效果。

全屏的适配,刘海屏和虚拟按键


//显示到刘海区if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {WindowManager.LayoutParams lp = getWindow().getAttributes();lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;getWindow().setAttributes(lp);}//隐藏虚拟按键if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) {View view = this.getWindow().getDecorView();view.setSystemUiVisibility(View.GONE);} else if (Build.VERSION.SDK_INT >= 19) {View decorView = getWindow().getDecorView();int uiOptions =View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |  View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;decorView.setSystemUiVisibility(uiOptions);}

屏幕适配视频

屏幕适配android相关推荐

  1. android 特殊屏幕适配,Android屏幕适配(2)常见:第一种

    前言: Android屏幕适配(1)基础知识篇 Android屏幕适配(3)常见:第二种 Android屏幕适配(4)常见:第三种 Android屏幕适配(5)常见:归纳总结 常见的屏幕配置问题(一些 ...

  2. android做好屏幕适配,android屏幕适配

    Android一些尺寸单位的基础概念描述 屏幕尺寸:单位英寸,屏幕对角线的物理尺寸. dp:官方是根据320480为基准指定dp值,即dpi160下,1dp=1px,在dpi320下即分辨率72010 ...

  3. 面试时Android屏幕适配,Android—屏幕适配(面试技巧)

    1.明白如下几个概念: 屏幕尺寸,屏幕分辨率以及屏幕像素密度. <1>屏幕尺寸:指的是屏幕对角线的长度.以手机为例,常见的有4.2.5.0.5.5等.. <2>屏幕分辨率:指横 ...

  4. android小米刘海屏幕适配,Android、iPhone手机刘海屏适配判断

    一.简介 手机屏幕的正上方居中位置(下图黑色区域)会被挖掉一个孔,屏幕被挖掉的区域无法正常显示内容,这种类型的屏幕就是刘海屏,也有其他叫法:挖孔屏.凹凸屏等等 二.Android刘海屏适配判断 1.判 ...

  5. Android 屏幕尺寸、屏幕分辨率(px)、屏幕像素密度(dpi)、密度无关像素(dp/dip)、屏幕适配

    1. dp , dpi , px 关系 (假设已经熟悉了基本概念,也可以参考最后的链接)  2. 运行时dp 如何转换成 px  3.  使用dp 和 px 设计结果比较 参考: Android屏幕适 ...

  6. Android学习屏幕适配技能包

    屏幕适配 序言 相关重要概念 硬件 屏幕尺寸 像素密度ppi 分辨率 软件 密度 像素密度dpi 密度限定符 密度无关像素 比例无关像素 屏幕适配的原因 解决方案 今日头条适配方案 宽高限定符适配方案 ...

  7. android开发根据分辨率设置高度,最详细的Android屏幕适配方案分析

    为什么要屏幕适配 Android开发过程中我们常用的尺寸单位有px.dp,还有一种sp一般是用于字体的大小.但是因为px是像素单位,比方我们通常说的手机分辨例如1920*1080都是px的单位.现在A ...

  8. Andoid屏幕适配终极手段(小编用过最得劲的dp适配)

    github_DPScreenAdaptation APKdemo 文章目录 小编尝试过2种屏幕适配方法: 1.PX适配 2.DP适配由来 **3.DP适配原理以及具体操作** 4.欣赏DP适配案例 ...

  9. Android屏幕适配框架-(今日头条终极适配方案)

    2019独角兽企业重金招聘Python工程师标准>>> 在Android开发中,屏幕适配是一个非常头痛的问题,因而为了去进行屏幕适配,作为程序员,是呕心沥血,历经磨难,哈哈 我们之前 ...

最新文章

  1. 使用多尺度空间注意力的语义分割方法
  2. 软件测试理论你知道多少?
  3. python 数据分析学什么-利用Python做数据分析 需要学习哪些知识
  4. 不同品牌发电机组间的并机知识
  5. github mysql 数据恢复_记一次MySQL删库的数据恢复
  6. Linux基础-查看文件与目录
  7. SQLite与Sql Server的语法差异(转载)
  8. labelImg 工具
  9. 使用“管道”与“应用程序生命周期”重构:可插拔模块
  10. NHibernate的缓存管理机制
  11. 数据库--MyBatis的(insert,update,delete)三种批量操作
  12. H264--H264编码--4
  13. js ide WebStorm 使用总结
  14. vs2017结合qt开发,vs报错找不到库(解决方案)
  15. 小众却非常好用的文件同步备份工具-FileYee
  16. jdk10和jdk8共存和快速切换
  17. 编写myqq即时聊天脚本,实现相互通信(UDP)
  18. 计算机相关的外文参考文献,计算机英文参考文献
  19. java mongo 条件查询_Java mongodb复杂多条件查询
  20. 校验集装箱号;java校验集装箱号并附解析

热门文章

  1. 单条视频播放近4000w,如何利用“跟风效应”实现流量暴增?
  2. 2019 GDD breaking world‘s record of π
  3. 什么是ChinaNet,ChinaNet介绍
  4. 基于JAVA的葫芦娃 — 最终之战
  5. 内存,RAM,ROM,Cache的区别与联系
  6. 贪心算法:860.柠檬水找零
  7. mikrotik 设置
  8. IE设置允许活动内容在我的计算机上的文件中运行
  9. 信息安全 - uboot, TEE, ATF, trustzone, SHE,HSM, HIS, Evita, ISO 21434, CC认证(Common Criteria)
  10. 博主有喜:拿了金奖和最佳创新奖