Android設(shè)計(jì)規(guī)范常識(shí):四種屏幕尺寸和四種密度

看到上面這個(gè)標(biāo)題:肯定知道25學(xué)堂這節(jié)課需要跟大家聊的大概主題了吧!

沒錯(cuò),就是Android設(shè)計(jì)規(guī)范當(dāng)中必須了解的四種屏幕尺寸和四種密度分類。為什么只有Android界面上會(huì)產(chǎn)生四種屏幕尺寸和四種密度呢?

主要原因就是安卓android多屏幕的支持機(jī)制。

如今的安卓手機(jī)屏幕很多,層次不齊。最大的1920*1080 最小的還是240*320等等。

中間的跨度很大啊。

目前的主流的就是720*1280 ?1920x1080 ? ?5英寸或者5.5英寸的智能安卓手機(jī)啦。

 

Android的支持多屏幕機(jī)制即用為當(dāng)前設(shè)備屏幕提供一種合適的方式來(lái)共同管理并解析應(yīng)用資源。

Android平臺(tái)中支持一系列你所提供的指定大?。╯ize-specific),指定密度(density-specific)的合適資源。

四種屏幕尺寸分類:: small, normal, large, and xlarge

四種密度分類: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)

Android有個(gè)自動(dòng)匹配機(jī)制去選擇對(duì)應(yīng)的布局和圖片資源

1)界面布局方面

根據(jù)物理尺寸的大小準(zhǔn)備5套布局:

layout(放一些通用布局xml文件,比如界面頂部和底部的布局,不會(huì)隨著屏幕大小變化,類似windos窗口的title bar),

layout-small(屏幕尺寸小于3英寸左右的布局),

layout-normal(屏幕尺寸小于4.5英寸左右),

layout-large(4英寸-7英寸之間),

layout-xlarge(7-10英寸之間)

2)圖片資源方面

需要根據(jù)dpi值準(zhǔn)備5套圖片資源:

drawable:主要放置xml配置文件或者對(duì)分辨率要求較低的圖片

drawalbe-ldpi:低分辨率的圖片,如QVGA (240x320)

drawable-mdpi:中等分辨率的圖片,如HVGA (320x480)

drawable-hdpi:高分辨率的圖片,如WVGA (480x800),FWVGA (480x854)

drawable-xhdpi:至少960dp x 720dp

Android有個(gè)自動(dòng)匹配機(jī)制去選擇對(duì)應(yīng)的布局和圖片資源。

系統(tǒng)會(huì)根據(jù)機(jī)器的分辨率來(lái)分別到這幾個(gè)文件夾里面去找對(duì)應(yīng)的圖片。

在開發(fā)程序時(shí)為了兼容不同平臺(tái)不同屏幕,建議各自文件夾根據(jù)需求均存放不同版本圖片。

ygis_palu___android_2_3_apps_interface_de22sign_by_22

四種屏幕尺寸和四種密度的基本概念:

1.屏幕尺寸Screen size

即顯示屏幕的實(shí)際大小,按照屏幕的對(duì)角線進(jìn)行測(cè)量。

為簡(jiǎn)單起見,Android把所有的屏幕大小分為四種尺寸:小,普通,大,超大(分別對(duì)應(yīng):small, normal, large, and extra large).

應(yīng)用程序可以為這四種尺寸分別提供不同的自定義屏幕布局-平臺(tái)將根據(jù)屏幕實(shí)際尺寸選擇對(duì)應(yīng)布局進(jìn)行渲染,這種選擇對(duì)于程序側(cè)是透明的。

2.屏幕長(zhǎng)寬比Aspect ratio

長(zhǎng)寬比是屏幕的物理寬度與物理高度的比例關(guān)系。應(yīng)用程序可以通過使用限定的資源來(lái)為指定的長(zhǎng)寬比提供屏幕布局資源。

3.屏幕分辨率Resolution

在屏幕上顯示的物理像素總和。需要注意的是:盡管分辨率通常用寬x高表示,但分辨率并不意味著具體的屏幕長(zhǎng)寬比。

在Andorid系統(tǒng)中,應(yīng)用程序不直接使用分辨率。

4.密度Density

根據(jù)像素分辨率,在屏幕指定物理寬高范圍內(nèi)能顯示的像素?cái)?shù)量。

在同樣的寬高區(qū)域,低密度的顯示屏能顯示的像素較少,而高密度的顯示屏則能顯示更多的像素。

屏幕密度非常重要,因?yàn)槠渌鼦l件不變的情況下,一共寬高固定的UI組件(比如一個(gè)按鈕)在在低密度的顯示屏上顯得很大, 而在高密度顯示屏上看起來(lái)就很小。

為簡(jiǎn)單起見,Android把所有的屏幕分辨率也分為四種尺寸:小,普通,大,超大(分別對(duì)應(yīng):small, normal, large, and extra large).

應(yīng)用程序可以為這四種尺寸分別提供不同的資源-平臺(tái)將透明的對(duì)資源進(jìn)行縮放以適配指定的屏幕分辨率。

5.設(shè)備獨(dú)立像素Density-independent pixel (dp)

應(yīng)用程序可以用來(lái)定義UI組件的虛擬像素單元,通過密度無(wú)關(guān)的方式來(lái)描述布局尺寸和位置。

一個(gè)設(shè)備獨(dú)立像素相當(dāng)于一個(gè)160 dpi屏幕上的物理像素。

在程序運(yùn)行時(shí),系統(tǒng)根據(jù)屏幕的實(shí)際密度透明的處理任何需要縮放的設(shè)備獨(dú)立像素單元,設(shè)備獨(dú)立像素轉(zhuǎn)換成屏幕實(shí)際像素的換算很簡(jiǎn)單:pixels = dps * (density / 160).

例如在240 dpi的屏幕上,1個(gè)設(shè)備獨(dú)立像素等于1.5物理像素.為確保UI組件在不同的屏幕都能合適的展示,強(qiáng)烈建議使用設(shè)備獨(dú)立像素單元來(lái)定義你的應(yīng)用程序UI。

每天更新,
全站高品質(zhì)素材免費(fèi)下載!