您的位置:首页 > 移动开发 > Android开发

Android 学习笔记 第五季 2 Density

2014-11-14 09:00 253 查看
手机种类多不可数,如果才能写出高适应性的 UI 呢?

这我也不太清楚。

在第五季的第二篇,我来介绍下 density 以及相关的一些概念,希望对某些人有帮助。

首先,说下分辨率。

分辨率指的是 320*480 这种,表示设备横向有 320 个像素点,纵向有 480 个像素点。

然后,说下像素。

用设备的实际长宽除以横向和纵向的像素点个数,就能得到像素的实际长宽了。

也就是说,像素的长宽是不定的,是可能不等的。

dpi

假设实际尺寸为 1.5 2.0 英寸,分辨率 240 * 320。

则设备对角线长 2.5 英寸,对角线分辨率 400。

dip = 400/2.5 = 160 (dot per inch)。

约定,当 dpi = 160 时,density = 1。

density 和 dpi 是等比例的,当 dpi = 400 时,density 就是 2.5。

dp 是像素无关的单位, px = dp * density,

所以,有了当 dpi = 160 时,1dp = 1px 的说法。

DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
Log.e("result",displayMetrics.density+"" );
Log.e("result",displayMetrics.densityDpi+"" );
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: