Android屏幕像素密度概述

Android將屏幕像素密度(DPI)分成四個基本密度:lDPI(低),mDPI(中等),hDPI(高)以及xhDPI(特高)。Android開發人員一般不考慮屏幕的分辨率,而是它的密度。Android應用開發者在定義佈局的UI時,會以密度無關像素(DP)的方式表達佈局的維度和位置,這樣確保UI在不同密度的屏幕上得以正確顯示。密度無關像素就相當於160dpi屏幕上的一個物理像素(對於中等密度的屏幕系統來說是基準密度)。例如240 dpi的屏幕上,1個設備獨立像素等於1.5物理像素.爲確保UI組件在不同的屏幕都能合適的展示,android應用使用設備獨立像素單元來定義應用程序的UI

屏幕尺寸分類和密度分類對比如下:

四種屏幕尺寸分類:: small, normal, large, and xlarge
四種密度分類: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)

[轉載]Android屏幕像素密度概述

 

需要注意的是:xhdpi是從 Android 2.2 纔開始增加的分類。xlarge是從Android 2.3 (API Level 9)纔開始增加的分類。如上圖所示,一般情況下的普通屏幕:ldpi120dpimdpi160dpihdpi240dpixhdpi320dpi

應用程序自動縮放詳解

Android應用程序在 DPI 類別不同的設備上運行,整個應用程序會自動地縮放,讓 UI 在此設備上以大體相同的物理大小出現。例如示例文件包含 TwitterTrendsFinal.fxp。在這個示例項目中,applicationDPI 設置爲 160,針對 160 DPI 屏幕適當地確定了各個佈局值的大小(比如TweetsView 列表中的 iconWidth 和 iconHeight 以及 UserInfoView 中的 padding/gaps)。在 160 DPI 設備上(比如 Motorola Droid Pro),應用程序採用指定的大小。在 240 DPI 設備上(比如 Droid X 或 Droid 2),應用程序統一地放大 50%。圖 1 按絕對像素數對比 160 DPI 屏幕與 240 DPI 屏幕的大小。圖 2 顯示相同的屏幕截圖,但是 240 DPI 圖像已經變小了,顯示相近的物理大小。設計應用所有的值針對 160 DPI 的值;在 stage 級上應用縮放。

 

[轉載]Android屏幕像素密度概述

 

            1. 320 x 480 160 DPI(左)和 480 x 800 240 DPI(右)上的實際像素

 

 

    

[轉載]Android屏幕像素密度概述

 

            2.320 x 480 160 DPI(左)和 480 x 800 240 DPI(右)上的物理大小

注意,由於矢量繪製會產生痕跡,一般來說最好是放大而不是縮小。因此,最好針對低的密度(比如 160 DPI)進行設計,讓應用程序在高密度設備上放大。

    又比如:applicationDPI是 160 在 Design View 中選擇 Google Nexus S 作爲預覽設備,那麼 Design View 會把應用程序放大 50%,按 Nexus S 的尺寸顯示它。這意味着中的 1 像素現在對應於 Design View 中的 1.5 像素(見圖 3)。

  [轉載]Android屏幕像素密度概述

 

                      3.在 Design View 中使用設備配置

與密度相關位圖設置

應用程序根據不同的密度自動地縮放時,矢量縮放並不包括文本,而是縮放字體大小,從而以不同的大小顯示保真度很高的文本。但是,位圖會被縮放。這並不好,因爲放大位圖通常會產生不可接受的痕跡。例如從基準線設計的屏幕(記住基線佈局設置在320*480)上獲取了一個100*100像素的位圖圖標。將相同的100*100圖標配置在lDPI屏幕,該圖標會顯得很大很模糊。同樣地,將其配置在hDPI屏幕上,它會顯得太小(由於設備的每英寸的點數比mDPI屏幕多),如下圖所示:

[轉載]Android屏幕像素密度概述

要調整不同的設備屏幕密度,我們需要在四個密度大小之間按照3:4:6:8縮放比例。使用這些比率,通過簡單的計算,android創造四個不同的版本的位圖,以供開發生產:

  • 75*75對應低密度屏幕(如0.75; ---ldpi
  • 100*100對應中等密度的屏幕(基準); ---mdpi
  • 150*150對應高密度屏幕( 1.5; ---hdpi
  • 200*200對應超高密度顯示屏( 2.0)。 ---xdpi
  •         四種不同網點密度。

 [轉載]Android屏幕像素密度概述

 

·         做完了所有圖像後,android按照以下方法歸類圖片:

[轉載]Android屏幕像素密度概述
     

·         推薦的文件夾及文件的歸類和命名方法。在準備星型圖片時,可以將所有未完成的圖片命名爲ic_star,不需要對應密度來換名稱。

Android系統也提供人工管理資源的方式:如下所示

Android pad定製資源文件,則res目錄下的目錄可能爲: 
drawable
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-nodpi
drawable-nodpi-1024×600
drawable-nodpi-1280×800
drawable-nodpi-800×480
values
values-ldpi
values-mdpi
values-hdpi
values-xhdpi
values-nodpi
values-nodpi-1024×600
values-nodpi-1280×800
values-nodpi-800×480

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章