andriod屏幕像素、尺寸、分辨率

術語和概念 
屏幕尺寸 
屏幕的物理尺寸,以屏幕的對角線長度作爲依據(比如 2.8寸, 3.5寸)。 
簡而言之, Android把所有的屏幕尺寸簡化爲三大類:大,正常,和小。 
程序可以針對這三種尺寸的屏幕提供三種不同的佈局方案,然後系統會負責把你的佈局方案以合適的方式渲染到對應的屏幕上,這個過程是不需要程序員用代碼來干預的。 

屏幕長寬比 
屏幕的物理長度與物理寬度的比例。程序可以爲制定長寬比的屏幕提供製定的素材,只需要用系統提供的資源分類符long notlong 

分辨率 
屏幕上擁有的像素的總數。注意,雖然大部分情況下分辨率都被表示爲“寬度×長度”,但分辨率並不意味着屏幕長寬比。在 Android系統中,程序一般並不直接處理分辨率。 

密度 
以屏幕分辨率爲基礎,沿屏幕長寬方向排列的像素。 
密度較低的屏幕,在長和寬方向都只有比較少的像素,而高密度的屏幕通常則會有很多 ——甚至會非常非常多——像素排列在同一區域。屏幕的密度是非常重要的,舉個例子,長寬以像素爲單位定義的界面元素(比如一個按鈕),在低密度的屏幕上會 顯得很大,但在高密度的屏幕上則會顯得很小。 

密度無關的像素( DIP  
指一個抽象意義上的像素,程序用它來定義界面元素。它作爲一個與實際密度無關的單位,幫助程序員構建一個佈局方案(界面元素的寬度,高度,位置)。 
一個與密度無關的像素,在邏輯尺寸上,與一個位於像素密度爲 160DPI的屏幕上的像素是一致的,這也是Android平臺所假定的默認顯示設備。在運行的時候,平臺會以目標屏幕的密度作爲基準,“透明地”處理所有需要的DIP縮放操作。要把密度無關像素轉換爲屏幕像素,可以用這樣一個簡單的公式: pixels = dips * (density / 160)。舉個例子,在 DPI 240的屏幕上, 1 DIP等於 1.5個物理像素。我們強烈推薦你用 DIP來定義你程序的界面佈局,因爲這樣可以保證你的 UI在各種分辨率的屏幕上都可以正常顯示。 


圖表形式

術語

說明

備註

Screen size(屏幕尺寸)

指的是手機實際的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸

摩托羅拉milestone手機是3.7英寸

Aspect Ratio(寬高比率)

指的是實際的物理尺寸寬高比率,分爲long和nolong

Milestone是16:9,屬於long

Resolution(分辨率)

和電腦的分辨率概念一樣,指手機屏幕縱、橫方向像素個數

Milestone是854*480

DPI(dot per inch)

每英寸像素數,如120dpi,160dpi等,假設QVGA(320*240)分辨率的屏幕物理尺寸是(2英寸*1.5英寸),dpi=160

可以反映屏幕的清晰度,用於縮放UI的

Density(密度)

屏幕裏像素值濃度,resolution/Screen size可以反映出手機密度

 

Density-independent pixel (dip)

指的是邏輯密度計算單位,dip和具體像素值的對應公式是dip/pixel=dpi值/160

 


支持的屏幕分辨率範圍 
1.5及更早版本的 Android系統,在設計的時候假定系統只會運行在一種分辨率的設備上—— HVGA 320× 480)分辨率,尺寸爲 3.2寸。由於系統只能工作在一種屏幕上,開發人員就可以針對那個屏幕來編寫自己的程序,而無需去考慮程序在其他屏幕上的顯示問題。 
但自從 Android 1.6以來,系統引入了對多種尺寸、多種分辨率屏幕的支持,以此滿足擁有各種配置的新平臺的運行需求。這就意味着開發人員在針對 Android 1.6或更新版系統開發程序的時候,需要爲自己的程序在多種分辨率的屏幕上良好顯示作出額外的設計。 
爲了簡化程序員面在對各種分辨率時的困擾,也爲了具備各種分辨率的平臺都可以直接運行這些程序, Android平臺將所有的屏幕以密度和分辨率爲分類方式,各自分成了三類: 
·三種主要的尺寸:大,正常,小; 
·三種不同的密度:高( hdpi),中( mdpi)和低( ldpi)。 
如果需要的話,程序可以爲各種尺寸的屏幕提供不同的資源(主要是佈局),也可以爲 各種密度的屏幕提供不同的資源(主要是位圖)。除此以外,程序不需要針對屏幕的尺寸或者密度作出任何額外的處理。在執行的時候,平臺會根據屏幕本身的尺寸 與密度特性,自動載入對應的資源,並把它們從邏輯像素( DIP,用於定義界面佈局)轉換成屏幕上的物理像素。 
下表列出了 Android平臺支持的屏幕中一些比較常用的型號,並顯示了系統是如何把它們分類到不同的屏幕配置裏的。有些屏幕分辨率並不在下面的列表上,但系統仍會把它們歸入下列的某一個類型中。

 

 

低密度( 120), ldpi  中密度( 160), mdpi  高密度( 240), hdpi 
 屏幕  · QVGA 240× 320),2.6 3.0 
普通 屏幕  · WQVGA 240×400), 3.2 3.5 
· FWQVGA 240×432), 3.5 3.8 
· HVGA 320× 480),3.0 3.5  · WVGA 480× 800),3.3 4.0 
· FWVGA 480×854), 3.5 4.0 
 屏幕  · WVGA 480× 800),4.8 5.5 
· FWVGA 480×854), 5.0 5.8 

 

 

如上表所示,所有分辨率的屏幕,都圍繞在基準屏幕 周圍,而基準屏幕在分類中,爲“正常”尺寸,與“中”密度。之所以用 HVGA屏幕作爲基準屏幕,是因爲所有針對 Android 1.5或更早的程序都是針對這片屏幕所寫的(因爲只支持這一片),比如 T-Mobile G1 
雖然系統支持上面 9種不同配置 的屏幕,但你並不一定需要爲它們都提供各自不同的資源。系統已經提供了足夠魯棒(就是在各種惡劣環境下正常工作,對環境變化不敏感)的兼容特性,用於在各 種不同的屏幕上良好顯示你的程序。這在下面的文檔中會詳細描述,如果你需要更多的資料,請查看“與屏幕無關的最佳實踐”。



單位:像素 

WVGA854: 854*480

WVGA800: 800*480

HVGA: 640*480 

QVGA: 320*240

WQVGA432:432*240

WQVGA400:400*240 

Android3.0 WXGA:800*1280

 

DVGA960(640x960, high density, normal screen )
QVGA (240x320, low density, small screen)
WQVGA (240x400, low density, normal screen)
FWQVGA (240x432, low density, normal screen)
HVGA (320x480, medium density, normal screen)
WVGA800 (480x800, high density, normal screen)
WVGA854 (480x854 high density, normal screen)


Android中圖標尺寸:

AndroidManifest.xml中指定圖標,名字不一定非叫icon
<application android:icon="@drawable/icon" android:label="@string/app_name">

2.0以後有三種尺寸,分別爲36*36/48*48/72*72
你會看到drawable-hdpi/drawable-ldpi/drawable-mdpi不同的目錄用來存儲不同尺寸的圖標在AndroidManifest.xml中只需要寫@drawable/icon就可以,它會根據屏幕分辨率去找不同目錄下的圖標

hdpi裏面主要放高分辨率的圖片,如WVGA (480x800),FWVGA (480x854)
mdpi裏面主要放中等分辨率的圖片,如HVGA (320x480)
ldpi裏面主要放低分辨率的圖片,如QVGA (240x320)



類型 hdpi mdpi ldpi
ICON 72*72 48*48 36*36
Notification圖標 48*48 32*32 24*24
標籤Tab圖標 48*48 32*32 24*24

 




Android的icon尺寸

在運行時,程序爲最佳顯示效果提供了三種方法:

1.圖片縮放

基於當前屏幕的 精度,平臺自動加載任何未經縮放的限定尺寸和精度的圖片。如果圖片不匹配,平臺會加載默認資源並且在放大或者縮小之後可以滿足當前界面的顯示要求。例如, 當前爲高精度屏幕,平臺會加載高精度資源(如圖片),如果沒有,平臺會將中精度資源縮放至高精度。

2.自動定義像素尺寸和位置

如果程序不支持多種精度屏幕,平臺會自動 定義像素絕對位置和尺寸值等,這樣就能保證元素能和精度160的屏幕上一樣能顯示出同樣尺寸的效果。例如,要讓WVGA高精度屏幕和傳統的HVGA 屏 幕一樣顯示同樣尺寸的圖片,當程序不支持時,系統會對程序慌稱屏幕分辨率爲320×533,在(10,10)到(100,100)的區域內繪製圖形完成之 後,系統會將圖形放大到(15,15)到(150,150)的屏幕顯示區域。

3.兼 容更大尺寸的屏幕

當前屏幕超過程序所支持屏幕的上限時,定義supports- screens元素,這樣超出顯示的基準線時,平臺在此顯示黑色的背景圖。例如,WVGA 中精度屏幕上,如程序不支持這樣的大屏幕,系統會謊 稱是一個320×480的,多餘的顯示區域會被填充成黑色。

但爲了達到最佳的顯示效 果,最好的方法還是設計多套圖片。那就有必要對於所有的屏幕依據精度值進行分級(高中低),之後再設計三套icon:


先爲主流的中精度屏 幕(HVGA)設計一套icon,確定圖片的像素尺寸。
爲高精度屏幕將圖片放大到150%,爲低精度屏幕將圖片縮小至75%。
將這三套資 源放置到程序的三個文件夾下 :res/drawable-mdpi/ 、res/drawable-hdpi/、 res/drawable- ldpi/。程序在運行時,平臺會根據屏幕的精度調取合適的icon。




設計指南

Android標準icon

 

Launcher Icon是程序主界面上的功能圖標,Android對於各個icon的風格有一定的要求:


符合當下的流行趨勢,避免過度使用隱喻。
高 度簡化和誇張,小尺寸圖標也能易於識別,不宜太複雜。
嘗試抓住程序的主要特徵,比如音像作爲音樂的icon。
使用自然的輪廓和形狀,看起 來幾何化和有機化,不失真實感。
Icon採用前視角,幾乎沒有透視,光源在頂部。
不光滑但富有質感。

正確和錯誤的icon

另外,所有的icon都有文字標籤,不要在設計時把文字也放到icon中。

Launcher Icon通常是一個較大的標準圖標中包含一個小圖標,使用一箇中性色彩和一個主要色彩,並保持高度的對比,不宜過度飽和。

推薦色值

尺寸和定位

Launcher icons要有多樣化的形狀和樣式,但又要形成統一的視覺風格,其尺寸和定位也用統一:


(Full Asset)紅色邊框爲圖標尺寸
(Icon) 藍色邊框是圖形尺寸,比圖標尺寸稍小,圖形之外的空間用於顯示陰影和特殊效果。
(Square Icon)橙色邊框是另外一種圖形尺寸。兩種類型的圖形尺寸可以達到統一的視覺權重。

Icon dimensions for high-density (hdpi) screens:


Full Asset: 72 x 72 px
Icon: 60 x 60 px
Square Icon: 56 x 56 px

Icon Dimensions for medium-density (mdpi) screens:


Full Asset: 48 x 48 px
Icon: 40 x 40 px
Square Icon: 38 x 3

Icon Dimensions for low-density (ldpi) screens:


Full Asset: 36 x 36 px
Icon: 30 x 30 px
Square Icon: 28 x 28 px

模板

下載Android的標準圖標模板,在此基礎上繪製icon,後期還要加上陰影效果。

WVGA (高精度) 屏幕的陰影:


Effect: Drop Shadow
Color: #000000
Blend Mode: Multiply
Opacity: 75%
Angle: 90°
Distance: 2px
Spread: 0%
Size: 5px


另外,還有Menu icon 、Status bar icon 、Tab icon、 Dialog icon 和List view icon的設計教程請查看原文吧。


非常詳盡的icon設計教程,一個程序裏要放置三套icon,還有Android硬件比較好,不然 內存爆掉


轉自:http://blog.csdn.net/henry121212/article/details/6645494

 

發佈了12 篇原創文章 · 獲贊 8 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章