Android 屏幕适配攻略(一)

Android 屏幕适配攻略(一)


1 常用的单位概述

px pixels(像素)
表示屏幕实际的象素。例如,320 x 480 (也就是生活中常说的屏幕分辨率为320x480)的屏幕在横向有320个象素,在纵向有480个象素。

in:
表示英寸,是屏幕的物理尺寸。每英寸等于2.54厘米,例如,形容手机屏幕大小,经常说,3.2(英)寸、3.5(英)寸、4(英)寸就是指这个单位。这些尺寸是屏幕的对角线长度。如果手机的屏幕是3.2英寸,表示手机的屏幕(可视区域)对角线长度是3.2*2.54 = 8.128厘米。读者可以去量一量自己的手机屏幕,看和实际的尺寸是否一致。

dip (device independent pixels) 屏幕密度
为解决Android设备碎片化,引入一个概念density,也就是密度.
它指的是在一定尺寸的物理屏幕上显示像素的数量,一般使用dpi(dots per inch,每英寸像素数)作为单位.

例如 4.7英寸屏幕,分辨率1920x1080 (4.7in 1920px 1080px)的手机 对应的像素密度
计算第一步 屏幕的宽度的平方乘以屏幕的高度的平方 √(1920^2 +1080^2) =2202.9071
计算第二步 将第一步中的计算结果除以屏幕的尺寸 2202.9/5=468.7021(dpi)≈469dpi


dp
dp也就是dip。常用于开发中使用到尺寸单位

sp (scaled pixels )放大像素
主要用于字体显示


2 安卓中对尺寸的分类


在安卓中,将屏幕密度分为了五类

屏幕密度对应的标签对应的像素
120dipldpi1dp= 0.75px
160dipmdpi1dp= 1px
240diphdpi1dp= 1.5px
320dipxhdpi1dp= 2px
480dipxxhdpi1dp= 3px
640dipxxxhdpi1dp= 4px

通过计算,假如计算出来的屏幕密度为 150,安卓系统会进行判断,150 在 120dip 与 160dip 之间,那么系统会使用 160dip为 基数来进行尺寸的计算

也就是说 例如我们在布局文件中设置了一个控件的宽度为10dp,那么
在 以160 dip为基数计算的屏幕上显示 的控件的实际宽度为10px,
在 以240dip dip为基数计算的屏幕上显示 的控件的实际宽度为15px,
在 以320dip dip为基数计算的屏幕上显示 的控件的实际宽度为20px,
在 以480dip dip为基数计算的屏幕上显示 的控件的实际宽度为30px,

早起的年轻人 CSDN认证博客专家 移动开发 项目管理 Java
只要用心去做,每一件事情还是有可能成功的,当然成功是没有界限的,只不过是达到自己心里的那个目标,公众号:我的大前端生涯,一个爱喝茶的程序员,通常会搞搞SpringBoot 、Herbinate、Mybatiys、Android、iOS、Flutter、Vue、小程序等.
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页