Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释
来源:互联网 发布:mac地址修改器 yy 编辑:程序博客网 时间:2024/04/28 00:52
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等像素单位的解释
- Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释
- Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释
- Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释
- Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释
- Android中度量单位px、dip、dp、sp、pt的区别 像素及屏幕密度决定显示效果的美观
- android中相对像素dp(dip)、绝对像素px、sp和屏幕密度
- Android 显示单位px和dip以及sp的区别
- Android 显示单位px和dip以及sp的区别
- android开发之dip、dp、sp、pt和px的区别以及屏幕密度略谈(外加屏幕适配)
- Android像素单位:dip、dp、sp 、px
- android像素单位:dip 、px、dp、sp
- android中dip、dp、px、sp和屏幕密度
- android中dip、dp、px、sp和屏幕密度
- android中dip、dp、px、sp和屏幕密度
- android中dip、dp、px、sp和屏幕密度
- android中dip、dp、px、sp和屏幕密度
- android中dip、dp、px、sp和屏幕密度
- 1. 使用tsung测试openfire服务器
- Agri-Net
- 什么方法能最快的查出所有小字符串里的字母在大字符串里都有?
- 在大项目中使用 Cscope (例如: Linux kernel)
- linux设备模型之总线 设备 和驱动
- Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释
- 单独编译android 下的模块的方法
- ah2012实习生笔试题
- Java高效编码:for-each循环优先于传统的for循环
- 常用Python第三方库 简介
- 应用Valgrind 发现Linux 程序的内存问题
- Ubuntu 11.04下虚拟机Samba的共享配置详细步骤
- JAVA中向量类Vector
- Cache性能