Android的计量单位px,in,mm,pt,dp,dip,sp
来源:互联网 发布:linux c程序编译 编辑:程序博客网 时间:2024/06/05 03:04
px :是屏幕的像素点
in :英寸
mm :毫米
pt :磅,1/72 英寸
dp :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1px
dip :等同于dp
sp :同dp相似,但还会根据用户的字体大小偏好来缩放。
建议使用sp作为文本的单位,其它用dip
dip和px 的关系:
QVGA: density=0.75; densityDpi=120; QVGA(240*320)
HVGA: density=1.0; densityDpi=160; HVGA(320*480)
VGA: density=1.0; densityDpi=160; VGA(480*640)
WVGA: density=1.5; densityDpi=240; WVGA(480*800)
WQVGA:density=2.0; densityDpi=120; WQVGA(240*400)
densityDip值表示每英寸有多少个显示点,与分辨率是两个概念
不同densityDpi下屏幕分辨率信息,以480dip*800dip的 WVGA(density=240)为例
densityDpi=120时
屏幕实际分辨率为240px*400px (两个点对应一个分辨率)
状态栏和标题栏高各19px或者25dip
横屏是屏幕宽度400px 或者800dip,工作区域高度211px或者480dip
竖屏时屏幕宽度240px或者480dip,工作区域高度381px或者775dip
densityDpi=160时
屏幕实际分辨率为320px*533px (3个点对应两个分辨率)
状态栏和标题栏高个25px或者25dip
横屏是屏幕宽度533px 或者800dip,工作区域高度295px或者480dip
竖屏时屏幕宽度320px或者480dip,工作区域高度508px或者775dip
densityDpi=240时
屏幕实际分辨率为480px*800px (一个点对于一个分辨率)
状态栏和标题栏高个38px或者25dip
横屏是屏幕宽度800px 或者800dip,工作区域高度442px或者480dip
竖屏时屏幕宽度480px或者480dip,工作区域高度762px或者775dip
apk的资源包中
当屏幕densityDpi=240时,使用hdpi 标签的资源
当屏幕densityDpi=160时,使用mdpi标签的资源
当屏幕densityDpi=120时,使用ldpi标签的资源
不加任何标签的资源是各种分辨率情况下共用的
布局时尽量使用单位dip,少使用px
dp与px换算公式:
pixs =dips * (densityDpi/160).
dips=(pixs*160)/densityDpi
dp与px转换的方法:
public static int dip2px(Context context, float dipValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(dipValue * scale +0.5f);
}
public static int px2dip(Context context, float pxValue){
final float scale = context.getResource().getDisplayMetrics().density;
return (int)(pxValue / scale +0.5f);
}
VGA : 640*480
QVGA : 320*240
HVGA : 320*480
WVGA : 800*480
WQVGA : 480X272或400X240
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- 【Android】的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- Android的计量单位px,in,mm,pt,dp,dip,sp
- solaris查看内存、CPU、硬盘总数和使用情况情况
- urllib 传参
- android笔记16-Notification
- c++之指针作为函数参数传递的问题
- Beginning Auto Layout Tutorial in iOS 7: Part 1
- Android的计量单位px,in,mm,pt,dp,dip,sp
- android笔记17- 各种menu
- maven核心,pom.xml详解
- JVM(java 虚拟机)内存设置
- 网络游戏和实现语言
- TCP/UDP 常用端口列表
- Visual Studio 2010 修改默认模板文件
- getContextPath、getServletPath、getRequestURI的区别
- Android Studio 快捷键整理分享