標籤:
Android手機目前常見的解析度
1.1 手機常見解析度:
4:3
VGA 640*480 (Video Graphics Array)
QVGA 320*240 (Quarter VGA)
HVGA 480*320 (Half-size VGA)
SVGA 800*600 (Super VGA)
5:3
WVGA 800*480 (Wide VGA)
16:9
FWVGA 854*480 (Full Wide VGA)
HD 1920*1080 High Definition
QHD 960*540
720p 1280*720 標清
1080p 1920*1080 高清
手機:
iphone 4/4s 960*640 (3:2)
iphone5 1136*640
小米1 854*480(FWVGA)
小米2 1280*720
1.2解析度對應DPI
"HVGA mdpi"
"WVGA hdpi "
"FWVGA hdpi "
"QHD hdpi "
"720P xhdpi"
"1080P xxhdpi "
2 螢幕適配的注意事項2.1基本設定
2.1.1AndroidManifest.xml設定
在中Menifest中添加子項目
android:anyDensity="true"時,應用程式安裝在不同密度的終端上時,程式會分別載入xxhdpi、xhdpi、hdpi、mdpi、ldpi檔案夾中的資源。
相反,如果設為false,即使在檔案夾下擁有相同資源,應用不會自動地去相應檔案夾下尋找資源:
1)如果drawable-hdpi、drawable-mdpi、drawable-ldpi三個檔案夾中有同一張圖片資源的不同密度表示,那麼系統會去載入drawable_mdpi檔案夾中的資源;
2)如果drawable-hpdi中有高密度圖片,其它兩個檔案夾中沒有對應圖片資源,那麼系統會去載入drawable-hdpi中的資源,其他同理;
3)如果drawable-hdpi,drawable-mdpi中有圖片資源,drawable-ldpi中沒有,系統會載入drawable-mdpi中的資源,其他同理,使用最接近的密度層級。
2.1.2橫屏豎屏目錄區分
1) drawable
a) drawable-hdpi該圖片即適用於橫屏,也適用於豎屏;
b) drawable-land-hdpi,當螢幕為橫屏,且為高密度時,載入此檔案夾的資源;
c) drawable-port-hdpi,當螢幕為豎屏,且為高密度時,載入此檔案夾中的資源。其他同理。
2) layout
在res目錄下建立layout-port和layout-land兩個目錄,裡面分別放置豎屏和橫屏兩種布局檔案,以適應對橫屏豎屏自動切換。
2.2 多螢幕適配的4條黃金原則
1)在layout檔案中設定控制項尺寸時應採用fill_parent、wrap_content、match_parent和dp;
具體來說,設定view的屬性android:layout_width和android:layout_height的值時,wrap_content,match_parent或dp比px更好,文字大小應該使用sp來定義。
2) 在程式的代碼中不要出現具體的像素值,在dimens.xml中定義;
為了使代碼簡單,android內部使用pix為單位表示控制項的尺寸,但這是基於當前螢幕基礎上的。為了適應多種螢幕,android建議開發人員不要使用具體的像素來表示控制項尺寸。
3) 不使用AbsoluteLayout(android1.5已廢棄) ,可以使用RelativeLayout替代;
4) 對不同的螢幕提供合適大小的圖片。
不同大小螢幕用不同大小的圖片,low:medium:high:extra-high圖片大小的比例為3:4:6:8;舉例來說,對於中等密度(medium)的螢幕你的圖片像素大小為48×48,那麼低密度(low)螢幕的圖片大小應為36×36,高(high)的為72×72,extra-high為96×96。
2.3 使用9-patch PNG圖片
使用圖片資源時,如果出現展開,因為圖片處理的原因,會變形,導致介面走形。9-patchPNG圖片也是一種標準的PGN圖片,在原生PNG圖片四周空出一個像素間隔,用來標識PNG圖片中哪些部分可以展開、哪些不可以展開、背景上的邊框位置等。
“上、左”定義可展開地區
“右、下”定義顯示地區,如果用到完整填充的背景圖,建議不要通過android:padding來設定邊距,而是通過9-patch方式來定義。
AndroidSDK中提供了編輯9-Patch圖片的工具,在tools目錄下draw9patch.bat,能夠立刻看到編輯後的展開效果,也可以直接用其他圖片編輯工具編輯,但是看不到效果。
2.4 不同的layout
Android手機螢幕大小不一,有480x320, 640x360, 800x480……
怎樣才能讓Application自動適應不同的螢幕呢?
其實很簡單,只需要在res目錄下建立不同的layout檔案夾,比如:layout-640x360、layout-800x480……所有的layout檔案在編譯之後都會寫入R.java裡,而系統會根據螢幕的大小自己選擇合適的layout進行使用。
2.5 測實驗證
一般使用AVD Manager建立多個不同大小的模擬器,如果條件具備,也可以直接用真機測試,這個比較靠譜。
3參考資料
http://blog.csdn.net/guozh/article/details/8954994
http://my.eoe.cn/cainiao1/archive/2348.html(皇馬船長)
ios的解析度(即iphone手機螢幕的解析度、主屏參數),是一個與硬體相關的參數,如iphone3以前的螢幕解析度都是320x480,從iphone4開始為640x960 這與開發中ios SDK的版本(3.0、3.2、4.0、4.2、4.3.0、5.0、5.1)等是沒什麼關係的
Deployment Target ios sdk simulator版本
都說做iOS開發比Android省心,那麼iOS是如何做到這一點的呢?我們今天就來分析一下,希望對做iOS的介面設計的同學有點協助。
1 iOS裝置的解析度
iOS裝置,目前最主要的有3種(Apple TV等不在此討論),按解析度分為兩類
iPhone/iPod Touch
普屏解析度 320像素x 480像素
Retina解析度 640像素 x 960像素
iPad,iPad2/New iPad
普屏 768像素x 1024像素
Retina屏 1536像素 x 2048像素
2 iOS設計時用的點與解析度的關係
儘管有上面列出的4種解析度情況,不過細心的人會發現,對於Retina屏的解析度始終保持為普屏的2倍,這對於iOS的設計還是開發的時候提供的莫大的方便,自然可以想到對於介面設計而言,只需要設計一套,然後進行等比例放大縮小即可。實際進行設計與開發的時候,也確實是這樣,Apple為了防止在交流過程中(尤其對於編程實現)解析度對思維的迷惑,統一使用點(Point)對介面元素的大小進行描述,例如:
iPhone/iPod Touch
介面描述 320點 x 480點
iPhone/iPad
介面描述 768點 x 1024點
換算關係
普屏 1點= 1像素
Retina屏 1點 = 2像素
這樣,不管我們是在為普屏還是Retina屏進行設計與開發,我們都可以清楚地,並且統一地使用點對介面元素的大小進行描述了。
3 iOS介面圖片的命名
現在我們能夠用統一的語言描述兩種螢幕的介面元素的大小,但是我們如何針對不同螢幕設定不同解析度的圖片素材呢?難道說開發的時候我們要在每一個圖片載入的地方進行,添加判斷當前裝置是否是Retina屏的語句,然後載入對應的圖片嗎?當然可以這樣做,但是iOS有一套更簡便的方法進行自動載入,即通過規範的檔案名稱命名。例如下面這條載入圖片的語句:
[UIImage imageNamed:@"pic.png"]]
在實際運行時,如果發現當前的裝置是Retina屏,會自動尋找圖片"[email protected]",自動載入針對Retina屏的圖片素材,是不是很方便呢?
所以,我們在製作iOS裝置時,可以仿照下面這樣,對圖片檔案進行分類,對於640x960檔案夾裡的圖片,檔案命名添加"@2x"即可。
4 iOS應用常用表徵圖的命名規範
可以參考下面兩個文檔:
Apple對此問題的Q&Ahttps://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/IconsImages/IconsImages.htm
Apple的官方說明文檔 https://developer.apple.com/library/ios/#qa/qa1686/_index.html
請務必按照文檔中描述的規範進行表徵圖的命名!!
PS:一些額外的表徵圖參考
a 表徵圖會自動添加高亮效果,如果不需要,可以在plist中明確指定UIPrerenderedIcon的索引值去掉
b 57像素的普屏的iPhone表徵圖,表徵圖圓角的半徑為10像素
c 114像素Retina屏的iPhone表徵圖,表徵圖圓角的半徑為20像素
d 512像素的用於iTunes/AppStore的表徵圖,在實際顯示是會被縮放到175像素進行顯示(但提交是不可以提交175像素)
e 72像素的普屏iPad表徵圖,表徵圖圓角的半徑為13像素
f 144像素Retina屏iPad表徵圖,表徵圖圓角的半徑為26像素
g50像素iPad的Spotlight搜尋表徵圖的最終視覺大小是48像素,原因是iOS會對表徵圖的每個邊去掉1個像素,添加陰影製作效果
h 100像素Retina屏的Spotlight搜尋表徵圖的最終視覺大小是96像素,原因同上,這次是每邊減2個像素
來源:http://www.cnblogs.com/BigPolarBear/archive/2012/03/26/2417777.html
是為了在iphone4上顯示的更清晰...
因為Phone4採用了一個叫做retina的螢幕,尺寸和老的iphone一樣大,但是解析度提高了4倍,看起高清的圖來,爽太多了,根本看不到像素點.
對於老的app來說,在iphone4中運行,會自動用4個像素替代原來的一個像素,這樣就不用更改代碼,使得老app可以自然的在iphone4中運行,但是UI的效果會有些蒙蒙的,不是最佳的效果,要達到最佳,必須為原來的圖片資源,重新設計一份640*960的高清版本,這樣才能在iphone4內達到最佳的UI效果~
所以,只用給同名的高清圖加上@2x這個尾碼,用UIImage的imageNamed這個函數調用圖片名(未帶@2x的),就會自動幫你調用合適的圖片,使用起來很方便.
android手機和ios手機的解析度