Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android 布局如何支持多種不同屏幕尺寸

android 布局如何支持多種不同屏幕尺寸

編輯:關於Android編程

支持多種屏幕 android運行在不同尺寸和像素(密度)的設備上,android系統給應用程序提供了一個相同的環境去適應不同的UI顯示界面。同時 系統提供API讓應用程序去控制UI在不同尺寸和密度的屏幕上的顯示效果,因為我們肯定不希望在手機和平板上顯示一樣的效果。     盡管android系統會自動縮放你的應用程序以適應不同分辨率,但是你也必須針對不同尺寸和密度的屏幕盡量優化,只有這樣才能最大程度上獲得 較好的用戶體驗。     概念     1.屏幕尺寸(Screen size):也就是我們常聽到的iphone4 3.5寸  iphone4s 4寸 samsung s2 4.3寸  HTC butterfly 5寸等等,也就是屏幕的對角線長度, 然後你可以根據屏幕的長寬比計算長寬的尺寸(android 將這些分為四個等級,分別是small, normal, large, 和 extra large) 2.像素密度(dpi):每英寸屏幕含有的像素點個數 (android 也按照像素密度分了四個等級,分別是low, medium, high, 和 extra high) 3.方向(Orientation) :分水平和垂直,如果應用做的好的話,這兩個方向都要考慮 4.分辨率(pix):也就是整個屏幕有多少個像素點組成,如果想應用程序支持不同的屏幕,那應用程序絕對不能直接根據分辨率作為單位來布局,而是應該 通過屏幕尺寸和像素密度中設定的等級來區分 5.像素無關密度(dp/dip): 一個android定義的虛擬的像素單位,你的應用程序應該用此單位來定義布局大小和位置 注意,一個dp和一個大小為160dpi的屏幕中的一個像素是相等的,所以dp和pix的換算應該是這樣的real pix = dp * (dpi)/160  當你寫布局文件的時候可以根據這個公式大概估算一下 (如800*480 4寸屏,計算像素密度dpi = 根號[寬的平方 + 高的平方]/屏幕尺寸, 大概算一下是240dpi左右,也就是說你定義了一個button是100dp 寬,100dp高那麼實際就是100*240/160 = 150 pix 了,也就是說你這個button占據了 屏幕的150/800 + 150/480  ) ( 如1920*1080 5寸屏,計算像素密度dpi = 根號[寬的平方 + 高的平方]/屏幕尺寸, 大概算一下是440dpi左右,也就是說你定義了一個button是100dp 寬,100dp高那麼實際就是100*440/160 = 275 pix 了,也就是說你這個button占據了www.2cto.com 屏幕的275/1920 + 275/1080  )     當然這兩款手機上的顯示效果還是有些差距的,計算了一下前者的button寬占據了整個屏幕寬度的0.1875  而後者的button寬占據了整個屏幕的0.1432     可以看出來前者占據的位置要大一些,這樣看起來在不同分辨率和大小的手機上效果就不太一樣了 其原因在於後者的分辨率比前者大很多,但是尺寸僅僅大了一寸,這也跟廠家的定位有關系吧,尺寸小其實是根本沒必要弄太大的分辨率的,因為根本看 不出效果來。     因此我們有必要對不同尺寸的定義不同的布局文件!!! android 對不同尺寸不同像素密度等級劃分 實際尺寸           2           4                   7                10               <--------------------------------------------------> 尺寸等級           small  normal    large          xlarge     實際像素密度    100                              200                    300 <------------------------------------------------------------------------> 像素密度等級     ldpi(120)     mdpi(160)  hdpi(240)           xhdpi(340)     比如上面的4寸和5寸應該定義兩個layout layout      定義button的長寬為100dp  layout-large   定義button的長寬大概為131dp      131*440/160 = 360  360/1920 = 0.1875  這樣就和在寸屏幕中所占的比例相同了                    
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved