屏幕尺寸:
指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米
比如常见的屏幕尺寸有2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0等
屏幕分辨率:
是指在横纵向上的像素点数,单位是px,1px=1个像素点。一般以纵向像素*横向像素,如1920*1080。
屏幕像素密度:
是指每英寸上的像素点数,单位是dpi,即“dot per inch”的缩写。屏幕像素密度与屏幕尺寸和屏幕分辨率有关
dip和dp是一个意思,都是Density Independent Pixels的缩写,即密度无关像素,dpi是屏幕像素密度,假如一英寸里面有160个像素,这个屏幕的像素密度就是160dpi,那么在这种情况下,dp和px如何换算呢?在Android中,规定以160dpi为基准,1dip=1px,如果密度是320dpi,则1dip=2px,以此类推。dp更像是一个 绝对距离单位(而不是相对).
而sp,即scale-independent pixels,与dp类似,但是可以根据文字大小首选项进行放缩,是设置字体大小的御用单位
名称 | 像素密度范围 |
---|---|
mdpi | 120dpi~160dpi |
hdpi | 160dpi~240dpi |
xhdpi | 240dpi~320dpi |
xxhdpi | 320dpi~480dpi |
xxxhdpi | 480dpi~640dpi |
ldpi-->low 级别的由于 设备的不断升级 已经不再考虑( 它的 缩放程度 是 mdpi 的 0.75)
一个图片放在不同的 drawable中的 放大缩小
使用限定符 :res/layout-large/main.xml 适配大屏幕
标准 7 inch 平板 最小宽度是 600dp , 使用 res/layout-sw600dp/main.xml 限定符 来区分 5寸和7寸的平板 , -sw600dp 指: 最小宽度 600( 意思就是 大于 600 采用辞布局)
-sw600dp 只能用于 >= 3.2版本, 为了避免 -large/main.xml 和 -sw600dp/main.xml 同时存在造成的 重复问题(一个用于 <3.2的低版本,一个是>=3.2的高版本,但它们的内容一样). 可以采取下面的措施
-
res/layout/main.xml,单面板布局
-
res/layout/main_twopanes.xml,双面板布局
main_twopanes是一个别名(标示符自己定)
在res/values-large/layout.xml 和 res/values-sw600dp/layout.xml:写下如下内容:
<resources>
<item name="main" type="layout">@layout/main_twopanes</item>
</resources>
实际上 只是一种引用方式而已
.9.png图片 左侧 和 上侧 决定拉伸 区, 右侧和下侧 决定 内容区(距离四边的 就是padding,此时 会自动给 该控件设定 padding)