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 的说法。
这我也不太清楚。
在第五季的第二篇,我来介绍下 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+"" );
相关文章推荐
- Android 学习笔记 第五季 9 SharedPreferences
- Android 学习笔记 第五季 12 图片处理
- Android 学习笔记 第五季 3
- Android 学习笔记 第五季 8 Fragment 1
- Android 学习笔记 第五季 5 .9 图片
- Android 学习笔记 第五季 6 Activity
- Android 学习笔记 第五季 11 数据库
- Android 学习笔记 第五季 10 文件系统
- Android 学习笔记 第五季 7 在 Intellij 和 AndroidStudio 中查看源码
- Android 学习笔记 第五季 1 Android Studio
- Android 学习笔记 第五季 4 Size Qualifiers
- Android(OPhone) 学习笔记 - 地图(1)
- Android(OPhone) 学习笔记 - SQLite
- Android(OPhone) 学习笔记 - 地图(2)
- android 学习笔记(一)
- Android(OPhone) 学习笔记 - 文件
- Android(OPhone) 学习笔记 - Intent和Activity
- Android(OPhone) 学习笔记 - Intent和Activity(3)
- Android(OPhone) 学习笔记 - Home API 的使用
- Android(OPhone) 学习笔记 - 代码基础