`

Android 机使用的像素比列!

 
阅读更多

Android 密度 DisplayMetrics  提供三种 密度
DENSITY_LOW   最小 密度  对应 文件夹 ldpi 是 120
DENSITY_MEDIUM 适中 密度 对应 文件夹 mdpi是160
DENSITY_HIGH   最大 密度 对应 文件夹 hdpi是240

xhdpi是320 (在Android 2.2 源码中未找到该属性)

默认 密度为 DENSITY_MEDIUM

设图标原尺寸为 x,y.图标取出文件夹时的尺寸为,Rx,Ry.

具体公式是:
density 驱动的密度
Rx = x * (density/ density(文件夹对应的dpi))
Ry = y * (density / density(文件夹对应的dpi))

eg:
现在 我有一张 18px * 18px 的图片
我的手机驱动密度为  240
因为:ldpi 的 density 为 120
所以:Rx = 18 * (240 / 120) Rx = 32px
      Ry = 18 * (240 / 120) Rx = 32px
又因为: hdpi 的 density 为240
所以:Rx = 18 * (240 / 240) = 18px
      Ry = 18 * (240 / 240) = 18px

依次类推
mdpi 和 xhdpi 都能算出来了.

附带一个网站:(计算不同 密度的 实际大小)
http://coh.io/adpi/

 

常规的我们可能只考虑QVGA,HVGA,WVGA,FWVGA和DVGA,但是抛去了手机不谈,可能平板使用类似 WSVGA的1024x576以及WXGA的1280x768等等。

  QVGA = 320 * 240;
  WQVGA = 320 * 480;
  WQVGA2 = 400 * 240;
  WQVGA3 = 432 * 240;
  HVGA = 480 * 320;
  VGA = 640 * 480;
  WVGA = 800 * 480;
  WVGA2 = 768 * 480;
  FWVGA = 854 * 480;
  DVGA = 960 * 640;
  PAL = 576 * 520;
  NTSC = 486 * 440;
  SVGA = 800 * 600;
  WSVGA = 1024 * 576;
  XGA = 1024 * 768;
  XGAPLUS = 1152 * 864;
  HD720 = 1280 * 720;
  WXGA = 1280 * 768;
  WXGA2 = 1280 * 800;
  WXGA3 = 1280 * 854;
  SXGA = 1280 * 1024;
  WXGA4 = 1366 * 768;
  SXGAMINUS = 1280 * 960;
  SXGAPLUS = 1400 * 1050;
  WXGAPLUS = 1440 * 900;
  HD900 = 1600 * 900;
  WSXGA = 1600 * 1024;
  WSXGAPLUS = 1680 * 1050;
  UXGA = 1600 * 1200;
  HD1080 = 1920 * 1080;
  QWXGA = 2048 * 1152;
  WUXGA = 1920 * 1200;
  TXGA = 1920 * 1400;
  QXGA = 2048 * 1536;
  WQHD = 2560 * 1440;
  WQXGA = 2560 * 1600;
  QSXGA = 2560 * 2048;
  QSXGAPLUS = 2800 * 2100;
  WQSXGA = 3200 * 2048;
  QUXGA = 3200 * 2400;
  QFHD = 3840 * 2160;
  WQUXGA = 3840 * 2400;
  HD4K = 4096 * 2304;
  HXGA = 4096 * 3072;
  WHXGA = 5120 * 3200;
  HSXGA = 5120 * 4096;
  WHSXGA = 6400 * 4096;
  HUXGA = 6400 * 4800;
  SHV = 7680 * 4320;
  WHUXGA = 7680 * 4800;

  对于Android游戏中适应高分辨率的平板而言,资源可以考虑一个强制的绝对布局保证全屏显示,而手机上的多种分辨率使用相对布局更为合理些

 

 

 

 

分享到:
评论

相关推荐

    Android通过相机预览使用原生接口捕捉人脸并取框,androidstuido工程

    这个项目名为"Android通过相机预览使用原生接口捕捉人脸并取框",使用了Android Studio作为集成开发环境(IDE),并且直接调用了Android系统的原生接口来实现人脸检测功能。以下是关于这一主题的详细知识讲解: 1. ...

    Android 主流手机适配方式

    dp是一种与设备独立的像素单位,它考虑了设备的密度,使得在不同分辨率的屏幕上,同一物理尺寸的UI元素看起来大小相同。开发者可以通过创建类似`values-sw480dp`、`values-sw600dp`等不同尺寸的资源目录,为更宽的...

    android 中页面布局使用demo

    7. **绝对布局(AbsoluteLayout)**:在较旧的版本中使用,但在新的开发中不推荐,因为它依赖于绝对像素坐标,不利于不同屏幕尺寸的适配。 8. **流式布局(FlowLayout)**:非原生Android布局,但可以通过第三方库...

    Android四等分布局Demo

    此外,使用`dp`(密度无关像素)单位而不是像素可以保证元素在不同密度屏幕上的大小一致性。 在"Demo_Fourcell"这个项目中,开发者可能已经实现了上述的一种或多种布局方式。通过查看源代码,我们可以深入学习布局...

    Android-解决Android适配问题

    此外,使用相对布局(`RelativeLayout`)或约束布局(`ConstraintLayout`)可以更灵活地控制元素之间的相对位置,而不是固定像素值。 接下来,我们要考虑布局适配。Android的`sw600dp`、`sw720dp`等断点概念用于...

    Android控件大全以及各布局空间的使用方式

    `android:layout_width` 和 `android:layout_height`: 设置布局的宽度和高度,可以使用 `fill_parent` 或 `match_parent` 让布局填充整个父容器,`wrap_content` 让布局根据内容自动调整大小,也可以直接指定像素值...

    android下GridView用法

    - `columnWidth`:每列的宽度,默认单位为像素。 - `horizontalSpacing`/`verticalSpacing`:设置列间和行间的间距。 - `stretchMode`:设置如何拉伸单元格以填满整个GridView,可选`none`、`columnWidth`、`...

    android自适应屏幕demo

    2. **尺寸单位**:避免使用绝对像素(px)来定义UI元素大小,而应使用相对单位如dp(与密度无关像素)和sp(用于字体大小,可缩放像素)。这样可以确保在不同屏幕尺寸上保持视觉一致性。 3. **布局权重**:在...

    Android图片加密、解密、切割(源码)

    在Android中,可以使用Java Cryptography Architecture (JCA) 和 Java Cryptography Extension (JCE) 来实现DES加密。具体步骤包括:选择密钥、创建Cipher对象、加密原始图片字节流,并将结果保存为新的加密文件。 ...

    新版Android开发教程.rar

    � 采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik , Android 的运行速度比想象的要快很多。 � 运营商(中国移动等)的大力支持,产业链条的热捧。 � 良好的盈利模式( 3/7 开),产业链条的各方:运营商、...

    android布局管理器代码

    每个子视图使用`android:layout_column`和`android:layout_row`属性来定义其在网格中的位置。例如: ```xml android:layout_width="match_parent" android:layout_height="match_parent"> android:layout_...

    Android开发C语言开发

    因此,在非ARM架构(如x86的PC)上开发针对Android平台的应用时,就需要使用交叉编译器来生成能在目标平台上运行的二进制文件。 **1.2 构建交叉编译环境** - **Linux环境下的交叉编译器构建:** - 可以自行构建一...

    Android页面布局总结

    - 属性值为具体的像素值:例如`android:layout_marginLeft="10dp"`用于指定左边距。 **示例代码**: ```xml android:layout_width="match_parent" android:layout_height="match_parent"> android:id="@+id...

    Android 排版TextView

    `android:lineSpacingExtra`直接添加固定像素值作为行间距,而`android:lineSpacingMultiplier`则允许你按比例增加行间距。这两个属性可以单独使用,也可以结合使用,以达到理想的效果。 对于列间隔,由于Android的...

    Android_layout.rar_android_android 布局_layout

    9. **Intrinsic尺寸**:`android:layout_width`和`android:layout_height`分别定义了视图的宽度和高度,可以设置为`wrap_content`(根据内容自动调整大小)、`match_parent`(占据父视图的大小)或具体的像素值。...

    获取Android设备信息

    在Activity中,你可以调用`getWindowManager().getDefaultDisplay().getMetrics(displayMetrics)`,然后`displayMetrics.widthPixels`和`heightPixels`是像素宽度和高度,`densityDpi`是密度dpi,`density`是每英寸...

    android动态改变图片颜色(纯色)

    如果需要处理复杂颜色的图片,可能需要使用更复杂的图像处理技术,例如像素操作或使用自定义Shader。 在实际开发中,可以考虑将上述步骤封装成一个函数,以便在多个地方重用。此外,如果需要频繁地改变图片颜色,...

    Android 截屏 FrameBuffer

    在Android开发中,虽然使用FrameBuffer截图适用于研究和调试,但并不推荐在生产环境中使用。因为这种方法可能不兼容所有设备,且需要root权限,这会限制其应用范围。通常,Android SDK提供的官方API `Media...

    Android开发 - 布局

    - **响应式**:考虑不同屏幕尺寸和方向,使用比例值(dp)而不是固定像素,确保界面在各种设备上都能良好显示。 - **性能优化**:使用轻量级布局,例如替换LinearLayout为ConstraintLayout,使用`merge`标签减少视图...

Global site tag (gtag.js) - Google Analytics