240/160=1.5(3.7寸屏幕,分辨率320*480手机上,正好1px = 1dp。)

解决方案 »

  1.   


    我的意思是说从pixels = dips * (density / 160)这个数学公式,或者可以叫数学公式吗?通过严格的变化得到1dp=1.5px,我肯定是对这个公式理解有问题。
      

  2.   

    http://blog.csdn.net/cys1991/article/details/23756903  这个
      

  3.   


    我的意思是说从pixels = dips * (density / 160)这个数学公式,或者可以叫数学公式吗?通过严格的变化得到1dp=1.5px,我肯定是对这个公式理解有问题。240你可以通过勾股定理算出对角线的像素密度,然后除160(固定标准)得到系数(1.5),px/dp=dpi;         dpi=density/160感觉你是概念有点混
    我的笔记:dpi    dpi指像素密度。dots per inch  ,即每英寸内像素点的个数。它不是表示长度的单位。
    在android中认为:低(120dpi),中(160dpi),高(240dpi),超高(320dpi)。随着技术的增长,实际dpi已经超出这个定义范围。
    dip    device independent pixels  ,即与设备无关的像素。目前这个单位已经被dp所取代,而不建议使用dip。
    dp     与dip的概念一样。不过dp已经取代了dip。在Android中用来表示非文字大小的尺寸。例如:外边距、内填充等。
    px = dp * (dpi / 160)
    3.7寸屏幕,分辨率320*480手机上,正好1px = 1dp。
    sp      scale  independent  pixel  ,即与缩放比例无关的像素。在android中常用来表示文字大小。
    px      表示像素。因为同样是200px,但是在不同手机下显示的大小是不同的。
    pt      point磅。1磅=1/74英寸
      

  4.   


    我的意思是说从pixels = dips * (density / 160)这个数学公式,或者可以叫数学公式吗?通过严格的变化得到1dp=1.5px,我肯定是对这个公式理解有问题。240你可以通过勾股定理算出对角线的像素密度,然后除160(固定标准)得到系数(1.5),px/dp=dpi;         dpi=density/160感觉你是概念有点混
    我的笔记:dpi    dpi指像素密度。dots per inch  ,即每英寸内像素点的个数。它不是表示长度的单位。
    在android中认为:低(120dpi),中(160dpi),高(240dpi),超高(320dpi)。随着技术的增长,实际dpi已经超出这个定义范围。
    dip    device independent pixels  ,即与设备无关的像素。目前这个单位已经被dp所取代,而不建议使用dip。
    dp     与dip的概念一样。不过dp已经取代了dip。在Android中用来表示非文字大小的尺寸。例如:外边距、内填充等。
    px = dp * (dpi / 160)
    3.7寸屏幕,分辨率320*480手机上,正好1px = 1dp。
    sp      scale  independent  pixel  ,即与缩放比例无关的像素。在android中常用来表示文字大小。
    px      表示像素。因为同样是200px,但是在不同手机下显示的大小是不同的。
    pt      point磅。1磅=1/74英寸
    谢谢你的回答,其实我倒不是概念没理解清楚,我就是有点纠结。pixels = dips * (density / 160)到1dp=1.5px这中间严格数学变换是怎么回事,我没理解!假设density=240那不就是pixels=dips*1.5,这岂不是1.5dips=1pixels吗,怎么能得出1dp=1.5px呢?!
      

  5.   

    恩,我最后也理解了。你是对的,通过getResources().getDisplayMetrics().density得到scale(scale=dpi/160)谢谢!