☰
Android-屏幕尺寸
2026/10/8 1:22:49 网站建设 项目流程

尺寸单位

  • dip: Device Independent Pixels ,再简写为dp,是指设备独立像素。不要与dpi混淆。dp是Android上为了适配不同屏幕设备而定义的一种抽象单位,1dp在不同分辨率屏幕上占用的像素数量不一样,在屏幕分辨率高的设备上占用更多像素,在分辨率小的设备上占用更少像素,从而让整体上看显示的比例相对屏幕大小是一样的。
  • px: Pixel,屏幕物理像素
  • dpi:Dots Per Inch,这里的Dots是指像素,每英寸像素点数,可称作像素密度。常见取值 160,240,320等。

  • density : 密度比,是指dpi与标准dpi的比值,即dpi/160,也可以理解为1dp对应多少个像素。常见取值1.0、1.5、2.0等。

  • sp: Scaled Pixels,缩放像素。 用于字体显示。

  • 分辨率: 横纵2个方向的像素点的数量。

  • 屏幕尺寸: 屏幕对角线的长度。

  • TextView.setTextSize (float size) 单位是sp
  • densityDpi,即dpi,以1080×1920分辨率的5英寸手机为例,对角线上大约有2203像素,则dpi=2203/5=440。
  • px和densityDpi是真实的物理屏幕尺寸和密度。
  • dp和density是Android中为了让不同屏幕尺寸上显示效果接近一致而抽象出来的,表示抽象的屏幕尺寸和密度。

调节显示大小

在设置/显示/显示大小中调节显示尺寸。调节的越大,则density值越大,即1dp对应的像素数量越多,但由于分辨率不变,屏幕宽高的最大dp数变小,所以如果使用绝对位置布局则可能会显示到屏幕之外。

adb之wm命令

到sdk\platform-tools找到adb,adb devices查找连接的设备,adb shell进入,

wm density # 查看屏幕的 像素密度,

wm density 160 # 把屏幕像素密度改为 160 dpi

mipmap和drawable文件夹

核心结论
  • 对于应用图标(App Icon):永远放在mipmap目录中。
  • 对于其他所有图标和图片资源:包括位图、矢量图、XML图,都放在drawable目录中。
1. mipmap 目录
  • 设计初衷:专门为应用启动器图标(Launcher Icon)设计。
  • 关键特性:系统永远不会对mipmap目录下的资源进行缩放。无论你的应用安装在哪一种屏幕密度的设备上,Launcher(桌面)都会获取到为该设备分辨率精确匹配的mipmap资源,从而确保应用图标始终清晰、无锯齿。
  • 适用场景:
    • 有且仅有:应用图标,即ic_launcher或ic_launcher_round等。这些图标会显示在手机桌面、应用列表、设置界面以及分享菜单中。
  • 为什么不放别的:如果把其他UI图标也放在mipmap中,系统不会缩放它们,在布局中引用时可能需要自己处理尺寸,反而增加麻烦。而且这违背了该目录的设计初衷。
2. drawable 目录
  • 设计初衷:存放应用内所有其他的图片资源。
  • 关键特性:系统可能会根据设备的屏幕密度(dpi)对drawable目录下的图片进行缩放,以适配不同屏幕。系统会选择最接近的密度版本,然后缩放至合适大小。
  • 适用场景:除了应用启动图标之外的所有图片。包括但不限于:
    • UI图标(如返回箭头、菜单图标、心形收藏图标等)
    • 按钮背景(Button Backgrounds)
    • 界面背景(Backgrounds)
    • 位图(Bitmaps)
    • XML绘制的形状(Shapes)、选择器(Selectors)等

res-sw

res-sw 是 Android 里按‌屏幕最小宽度‌(smallest width)来区分资源的限定符,写成 res/values-sw<N>dp 这样的目录名,比如 values-sw360dp。‌‌

系统会根据设备的“最短可用边” W(单位 dp)来判断,‌取数字小于等于W的那个目录‌来加载资源。 比如设备宽度是 360dp,有 values-sw320dp 和 values-sw400dp 时,会选 sw320dp。‌‌

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询