日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > 綜合技術 > Android中dip、dp、sp、pt和px的區(qū)別

Android中dip、dp、sp、pt和px的區(qū)別

來源:程序員人生   發(fā)布時間:2015-04-11 09:29:10 閱讀次數:3858次
1、概述

        過去,程序員通常以像素為單位設計計算機用戶界面。例如:圖片大小為80×32像素。這樣處理的問題在于,如果在1個每英寸點數(dpi)更高的新顯示器上運行該程序,則用戶界面會顯得很小。在有些情況下,用戶界面可能會小到難以看清內容。由此我們采取與分辨率無關的度量單位來開發(fā)程序就可以夠解決這個問題。Android利用開發(fā)支持不同的度量單位。

2、度量單位含義

      dip: device independent pixels(裝備獨立像素). 不同裝備有不同的顯示效果,這個和裝備硬件有關,1般我們?yōu)榱酥С諻VGA、HVGA和QVGA 推薦使用這個,不依賴像素。 

     dp: dip是1樣的

     px: pixels(像素). 不同裝備顯示效果相同,1般我們HVGA代表320x480像素,這個用的比較多。

     pt: point,是1個標準的長度單位,1pt=1/72英寸,用于印刷業(yè),非常簡單易用;
     sp: scaled pixels(放大像素). 主要用于字體顯示best for textsize。

    in(英寸):長度單位。 
    mm(毫米):長度單位。

3、度量單位的換算公式

    在android源碼包TypedValue.java中,我們看以下函數:

    public static float applyDimension(int unit, float value,

                        DisplayMetrics metrics)

   {

        switch (unit) {

        case COMPLEX_UNIT_PX:

            return value;

        case COMPLEX_UNIT_DIP:

            return value * metrics.density;

        case COMPLEX_UNIT_SP:

            return value * metrics.scaledDensity;

        case COMPLEX_UNIT_PT:

            return value * metrics.xdpi * (1.0f/72);

        case COMPLEX_UNIT_IN:

            return value * metrics.xdpi;

        case COMPLEX_UNIT_MM:

            return value * metrics.xdpi * (1.0f/25.4f);

        }

        return 0;

    }

   該函數功能:是把各單位換算為像素。

   metrics.density:默許值為DENSITY_DEVICE / (float) DENSITY_DEFAULT;

   metrics.scaledDensity:默許值為DENSITY_DEVICE / (float) DENSITY_DEFAULT;

   metrics.xdpi:默許值為DENSITY_DEVICE;

   DENSITY_DEVICE:為屏幕密度

   DENSITY_DEFAULT:默許值為160

 

4、屏幕密度:表示每英寸有多少個顯示點,與分辨率是兩個不同的概念。

       Android主要有以下幾種屏:以下表                                   

屏幕

Tyep

寬度

Pixels

高度

Pixels

尺寸

Range(inches)

屏幕密度

QVGA

240

320

2.6⑶.0

low

WQVGA

240

400

3.2⑶.5

low

FWQVGA 

240

432

3.5⑶.8

low

HVGA 

320

480

3.0⑶.5

Medium

WVGA 

480

800

3.3⑷.0

High

FWVGA

480

854

3.5⑷.0

High

WVGA

480

800

4.8⑸.5

Medium

FWVGA 

480

854

5.0⑸.8

Medium

備注

目前android默許的low=120 ;Medium =160; High = 240

5、綜上所述    

  據px = dip * density / 160,則當屏幕密度為160時,px = dip
  根據 google 的建議,TextView 的字號最好使用 sp 做單位,而且查看TextView的源碼可知Android默許使用sp作為字號單位。將dip作為其他元素的單位。
url:
http://greatverve.cnblogs.com/archive/2011/12/27/Android-dip-dp-sp-pt-px.html

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 中文字幕精品久久一区二区三区 | 久久久综合激的五月天 | 一区二区免费 | 成 人色 网 站 欧美大片在线观看 | 欧美一区二区三区影视 | 日韩城人网站 | 一级片免费视频 | 日韩久久久久久久久久久久 | av首页在线 | 国产精品久久久久久久av大片 | 精品视频在线一区 | 国产性―交一乱―色―情人免费看 | 91精品国产色综合久久不卡98口 | 黄色小视频免费 | 99国产一区 | 亚洲一区二区精品视频 | 91精品国产欧美一区二区 | 久久精品观看 | 日韩精品视频免费在线观看 | 99热网站 | 国产精品二 | 91精品久久久久久久久99蜜臂 | 99国产超薄肉色丝袜交足的后果 | 黄色国产在线 | 在线h片 | 91久久精品一区二区二区 | 女人一级黄色片 | 高清国产一区 | 国产高清中文字幕 | 免费av高清 | 日韩一区二区免费视频 | 99亚洲视频 | 国产精品日韩一区二区三区 | 天天色综合天天色 | 国产精品区一区二区三区 | 国产精品久久久久久久久久三级 | av免费播放| 国产精品美女一区二区三区 | 欧美一区二区三区在线视频 | 国产一区亚洲 | 久久精品网站免费观看 |