1. 程式人生 > >android獲取螢幕尺寸和密度

android獲取螢幕尺寸和密度

Android主要有以下幾種屏:

QVGA和WQVGA屏density=120;

HVGA屏density=160;

WVGA屏density=240;

下面以480dip*800dip的WVGA(density=240)為例,詳細列出不同density下螢幕解析度資訊:

當density=120時 螢幕實際解析度為240px*400px (兩個點對應一個解析度)
狀態列和標題欄高各19px或者25dip
橫屏是螢幕寬度400px 或者800dip,工作區域高度211px或者480dip
豎屏時螢幕寬度240px或者480dip,工作區域高度381px或者775dip

density=160時 螢幕實際解析度為320px*533px (3個點對應兩個解析度)
狀態列和標題欄高個25px或者25dip
橫屏是螢幕寬度533px 或者800dip,工作區域高度295px或者480dip
豎屏時螢幕寬度320px或者480dip,工作區域高度508px或者775dip

density=240時 螢幕實際解析度為480px*800px (一個點對於一個解析度)
狀態列和標題欄高個38px或者25dip
橫屏是螢幕寬度800px 或者800dip,工作區域高度442px或者480dip
豎屏時螢幕寬度480px或者480dip,工作區域高度762px或者775dip

apk的資源包中,當螢幕density=240時使用hdpi標籤的資源
當螢幕density=160時,使用mdpi標籤的資源
當螢幕density=120時,使用ldpi標籤的資源。
不加任何標籤的資源是各種解析度情況下共用的。
建議:佈局時儘量使用單位dip,少使用px。

device independent pixels(裝置獨立畫素). 不同裝置有不同的顯示效果,這個和裝置硬體有關,一般我們為了支援WVGA、HVGA和QVGA 推薦使用這個,不依賴畫素。