Android中dp、dpi与px的关系】的更多相关文章

http://blog.csdn.net/jiangwei0910410003/article/details/40509571 今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI很少,刚开始做Android应用的时候,没有对dp,px,sp等概念有一个深入的了解,只知道他们之间的转化,还有写个转换工具类等.做Android已经有一年多了,现在再次开始App开发,决定没遇到一个概念,必须得弄透彻.好吧,下面进入主题吧: 首先来看一下他们的基本概念: px   :是屏幕的像素点…
在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip).一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致.但是在代码中,如何处理呢?很多控件的方法中都只提供了设置px的方法,例如setPadding,并没有提供设置dp的方法.这个时候,如果需要设置dp的话,就要将dp转换成px了. 以下是一个应用类,方便进行px和dp之间的转换. import android.content.Context; public class DensityUtil { /**…
我们在页面布局的时候,经常会设置容器的长度,但是到底该使用哪个作为长度的单位而懊恼.在Android中支持的描述大小区域的类型有以下几种: px(pixels)——像素:不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多. dip(device independent pixels)——设备独立像素:这个和设备硬件有关,一般我们为了支持WCGA.HVGA和QVGA推荐使用这个,不依赖于像素.等同于dp. sp(scaled pixels—best for text s…
通过讨论这个问题,我们能够见识到google是对面向对象模式的理解,能够理解android底层的一些调用.这也是一道很常见的面试题. 我们这篇文章就来解决这四个问题: Android  中view的显示视图么? Activity,window,View的关系是什么? LayOutInflater 填充是什么? LayOutInflater 具体怎么做? 首先,我们从activity开始说起,说起activity我们都要知道setcontentview和attach方法.setcontentvie…
转自知乎用户的回答: 1. dpi是dot per inch,每英寸多少点,ppi是 Pixel per inch,每英寸像素数,针对显示器的设计时,dpi=ppi.ppi计算方法是长宽各自平方之和开方,除以对角线长度(单位英寸).原理可以自己画个矩形勾股定理算一算.2. ppi表示显示设备的点密度,dpi表示印刷品点密度.3. dip或dp,是安卓开发用的单位,1dp表示在屏幕点密度为160ppi时1px长度.因为安卓设备屏幕众多不可能为每个屏幕单独开发,所以用公式 px=dp*(ppi/16…
DisplayUtils代码: public class DisplayUtil { public static int px2dip(Context context, float px) { float scale = context.getResources().getDisplayMetrics().density; return (int) (px / scale + 0.5f); } public static int dip2px(Context context, float dp)…
dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如: 在320x480分辨率,像素密度为160,1dp=1px 在480x800分辨率,像素密度为240,1dp=1.5px 计算公式: 1dp*像素密度/160 = 实际像素数 float density = context.getResources().getDisplayMetrics().density; px = (int)(dp * scale + 0.5f); dp = (int)(px / scale + 0.5f);…
http://blog.csdn.net/jiangwei0910410003/article/details/40509571…
1 尺寸单位定义 px(pixel,像素):每个px对应屏幕上的一个点 dip或dp(device independent pixels,设备独立像素):一种基于屏幕密度的抽象单位.在每英寸160个点的显示器上,1dip = 1px.但随着屏幕密度的改变,dip与px的换算会发生改变,dp是与实际尺寸匹配的单位 sp(scaled pixels,比例像素):主要处理字体的大小,可根据用户的字体大小首选项 进行缩放 in(inch,英寸):标准长度单位,1inch = 25.4mm pt(poin…
这几天遇到点关于Android的触摸事件相关的,还跟onClick有关.暂且记下: LinearLayout分别设置了onTouchListener,onClickListener,onLongClickListener及onTouchEvent回调 1.在屏幕上触摸之后主要的运行流程例如以下: onTouch,action=0 onTouchEvent,action=0 onTouch,action=2 onTouchEvent,action=2 onTouch,action=2 onTouc…