px(Pixels ,像素):对应屏幕上的实际像素点。
in(Inches ,英寸):屏幕物理长度单位。
mm(Millimeters ,毫米):屏幕物理长度单位。
pt(Points ,磅):屏幕物理长度单位,1/72英寸。
dp(与密度无关的像素):逻辑长度单位,在 160 dpi 屏幕上,1dp=1px=1/160英寸。随着密度变化,对应的像素数量也变化,但并没有直接的变化比例。
dip:与dp相同,多用于Google示例中。
sp(与密度和字体缩放度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。

一直对px、dip、sp、dp这几个单位概念很模糊。网上查了下,基本理论上是清楚了。

1.px (pixels)(像素):屏幕上的点 ,与密度相关。密度大了,单位面积上的px会比较多。

2.dip或dp(与密度无关的像素)。这个和设备硬件有关,为了支持WVGA、HVGA和QVGA 5进制空间推荐使用这个。一种基于屏幕密度的抽象单位。设置一些view的宽高可以用这个,一般情况下,在不同分辨率,都不会有缩放的感觉。如果用px的话,320px占满HVGA的宽度,到WVGA上就只能占一半不到的屏幕了,那一定不是你想要的。
3.sp(与刻度无关的像素)放大像素– 主要处理字体的大小。

屏幕大小和密度对照表 :

下面是在manifest中设置app在不同分辨率时,是否支持多密度的方法。
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
...
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
</manifest>

转换:
dip和px之间的转换很简单,下面是dip和px的工具类。

/**
 * 密度常量设置,提供dip转换为px的方法
 * 
 * @author zuolongsnail
 * 
 */
public final class DensityConst {
    /** 默认密度 */
    public static float density = 1.0f;
    /** 默认每英寸像素数 */
    public static int densityDpi = 160;

/**
     * 初始化与密度相关的所有变量值
     * 
     * @param activity
     */
    public static void initDensity(Activity activity) {
        DisplayMetrics dm = new DisplayMetrics();
        activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
        density = dm.density;
        densityDpi = dm.densityDpi;
    }

/**
     * dip转化为像素
     * 
     * @param dip
     * @return
     */
    public static int getPx(int dip) {
        return (int) (dip * density);
        // return (int)(dip*(densityDpi/160));

}

/**
     * 像素转化为dip
     * 
     * @param px
     * @return
     */
    public static int getDip(int px) {
        return (int) (px / density);
        // return (int)((px*160)/densityDpi);
    }
}

Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释相关推荐

  1. android屏幕大小字体大小,文字大小和不同的Android屏幕尺寸

    对于运行Android 3.0的第一代平板电脑,声明平板电脑布局的正确方法是将它们放在具有xlarge配置限定符的目录中(例如,res / layout-xlarge /).为了适应其他类型的平板电脑 ...

  2. Android屏幕大小适配问题解决

     一.一些基本概念 1.长度(真实长度):英寸.inch 2.分辨率:density 每英寸像素数  dpi(密度) 3.像素:px 4.dip的公式:px /dip=dpi/160  所以 dip ...

  3. android ui的几个概念:px,dip(dp),sp,dpi,分辨率等

    1.px (pixels)像素 – 是像素,就是屏幕上实际的像素点单位.  dip或dp (device independent pixels)设备独立像素, 与设备屏幕有关.  sp (scaled ...

  4. 获取手机屏幕大小、密度、分辨率、状态栏、标题栏高度

    在开发手机应用时,除了对API的掌握外,更重要的还是画面. 对于画面,屏幕分辨率又是很重要的一个因素. 由于手机屏幕尺寸各不相同,在画面布局时就需要考虑这个问题. Android可以设置为随着窗口大小 ...

  5. 获取android屏幕大小

    2019独角兽企业重金招聘Python工程师标准>>> 代码本身很简单,比如在Activity的onCreate方法中: Log.d("tag1", " ...

  6. 【Android 应用开发】Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题

    . 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19698511 . 最近遇到了一系列的屏幕适配问题, 以及 ...

  7. Android 屏幕dp、dpi、px、ppi、density的区别

    Android屏幕中dp.dpi.px.ppi的区别 px:像素 ppi:指每英寸所拥有的像素数量 dpi:指每英寸所拥有的点的数量(点的大小不一定是像素大小,但在考虑屏幕的时候dpi=ppi) dp ...

  8. Android针对不同的手机屏幕大小设计图片资源与编码

    一些术语 Screen Size 屏幕尺寸: 实际的物理尺寸,以屏幕的对角线为准(包括通知栏?) 将所有的实际尺寸分为四个广义的尺寸:small(小),normal(正常),large(大),extr ...

  9. Android的屏幕大小和精度

    本文转自:http://www.inandroid.cn/bbs/thread-123665-1-1.html 目前市场上主流的android屏幕大小和精度,供大家参考. 多分辨率支持 在设计之初,A ...

最新文章

  1. C语言感觉有意思得意东西!_只愿与一人十指紧扣_新浪博客
  2. 湖南工大计算机专业咋样,西北工业大学还是湖南大学计算机
  3. 激光标记舱口轮廓生成_宣城国产圆管激光切割机-利晟激光
  4. 【错误记录】AS 编译报错 ( Android Support plugin 版本太高 | 升级 Android Studio 到最新版本 )
  5. 基于深度学习的语义分割代码库
  6. PL/SQL NOCOPY限制模式
  7. Pycharm中设置py文件头部注释信息
  8. Python+OpenCV:直方图反向投影(Histogram Backprojection)
  9. 阿里云新征程:通往智能之路
  10. java编程思想--协变返回类型
  11. Linux driver 板级文件跟踪一般方法
  12. flux架构浅谈:什么数据才应该放store
  13. python虚拟环境中安装diango_django是要在虚拟环境激活后安装吗
  14. 基于PHP实现高性能敏感词过滤算法
  15. QAM的符号能量及比特能量
  16. 移动硬盘变成RAW,如何将其转换为NTFS
  17. Opencv系列教程(一):Opencv读取指定文件夹图片、视频,调用摄像头
  18. uniapp 动态修改导航栏 之前使用this.$mp.page page提示未定义
  19. 基于人脸面部检测的口罩识别系统
  20. RobotStudio软件及ABB机器人相关问题

热门文章

  1. 11.* 指针 引用
  2. 2018-2019 20165204 20165216 20165220 实验四 外设驱动程序设计
  3. android -------- Data Binding的使用 ( 四 )ListView
  4. 【STL源码学习】std::list类的类型别名分析
  5. POS打印机系列之 = 并口
  6. SQL Server 数据库的整理优化的基本过程(三)
  7. 免费送书的网站-每人限一本
  8. 难度炸裂!DeepChange:一个新的超大规模的换衣行人再识别数据集
  9. 数据不动模型动-联邦学习的通俗理解与概述
  10. 一键提升多媒体内容质量:漫谈图像超分辨率技术