教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Android培訓之屏幕適配(1)

更新時間:2016年10月31日17時28分 來源:傳智播客Android培訓學院 瀏覽次數(shù):

 屏幕適配:
1.為什么要進行屏幕適配?
  因為android手機碎片化和版本的不一致,所以android應(yīng)用開發(fā)就需要做屏幕適配。
 
2.對于那些屏幕分辨率進行適配?
  需要做適配的手機的分辨率分別:1280*720  1920*1080  800*480  854*480  960*540   1184*720
 
3.什么是屏幕尺寸,屏幕分辨率,屏幕像素密度
  屏幕尺寸:指屏幕對角線的長度,單位是英寸  1英寸=2.54厘米。
  屏幕分辨率:指的是手機橫縱方向上的像素點數(shù)。分辨率越高,顯示效果越好。單位是px   1px==1像素點
  屏幕像素密度:指每英寸上的屏幕像素點數(shù),單位是dpi   是dot  per  inch  的縮寫。
                和屏幕尺寸和屏幕分辨率相關(guān),每英寸的像素點越多,密度就越大,顯示效果就越好。
 
   計算屏幕像素密度的方式:
   以Smartisan T2為例:
   屏幕尺寸:4.95英寸     分辨率:1920*1080
   屏幕像素密度=1920*1920+1080*1080開平方/4.95 = 445dpi
 
4.什么是dp,dip,dpi,sp,px?它們之間有什么關(guān)系?
  px :構(gòu)成圖像的最小單位,
  dp和dip:概念是完全相同的,密度無關(guān)像素 ,以160dpi為基準,1dip = 1px。
    如果按照dp作為單位,在不同的分辨率下,dp和px換算的標準是不一樣的。
在高分辨率的手機上,使用dp作為單位,就能夠保證實現(xiàn)相同的效果。
  sp : 根據(jù)文字大小進行放縮,一般使用sp作為衡量文字的單位。
    google官方建議文字大小不要小于12sp,文字大小的數(shù)量不要用奇數(shù),要使用偶數(shù),也不要小數(shù),
使用奇數(shù)和小數(shù)會在放縮時造成精度的缺失。
 
 
5.什么是mdpi,ldpi,hdpi,xhdpi,xxhdpi?如何計算和區(qū)分的?
  對于不同手機的像素密度進行區(qū)分的,在不同的像素密度上,同一張圖片的顯示效果其實是不一樣的,
  但是我們要不同的屏幕密度上顯示出相同的效果,那么就要對res文件夾當中的子文件夾進行區(qū)分,
  可以通過在文件夾后面添加限定符,就可以實現(xiàn)在不同分辨率下的相同效果。
 
  名稱                   取值范圍
  mdpi                120dpi~160dpi      48*48
  hdpi                160dpi~240dpi      72*72
  xhdpi               240dpi~320dpi      96*96
  xxhdpi              320dpi~480dpi      144*144
  xxxhdpi             480dpi~640dpi
 
6.解決屏幕適配的問題
    1.怎么能讓應(yīng)用支持各種屏幕?
    a)使用wrap_content,match_parent,weight屬性值去定義控件的寬和高。
weight  權(quán)重
計算出的寬度=原來的寬度+剩余空間所占百分比的寬度
以button為例:
 假設(shè)屏幕寬度為L,然后橫向放置兩個button,要求比例是1:2.
 button1----》width--match_parent: L+(L-2L)/3 = L-1/3L = 2/3L;
0dp   :0+(l-0)/3 = 1/3L;
 button2----> width--match_parent:L+(L-2L)*2/3=L-2/3L=1/3L;
0dp   :0+(l-0)*2/3 =2/3L;
 
 
b)使用相對布局等,禁用絕對布局。
  絕對布局適配性很差,以左上點為左邊原點,要具體給定放置控件的值才能繪制繪制。
  想要為不同的屏幕尺寸設(shè)定不同的高度,就要使用相對布局或者線性布局。
 
c)使用限定符
   布局限定符:
layout           普通的單面版的屏幕
layout-large     屏幕尺寸大于7英寸,同時系統(tǒng)版本在3.2之下
layout-sw600dp   屏幕像素密度在600dpi之上,系統(tǒng)版本在3.2之上的。
使用限定符,使平板和手機實現(xiàn)適配。
 
d)使用布局別名
    可以在layout文件夾中定義不同的布局,然后在values的文件夾當中定義layout.xml文件,
然后引用layout文件夾當中的布局,并且給他們統(tǒng)一的名字,然后針對不同的屏幕尺寸就具備
不同的布局引用了。
 
e)使用屏幕方向限定符
    布局設(shè)置限定符
layout-land    橫屏
layout(layout-port) 豎屏
layout-sw600dp-land
layout-sw600dp-port
        
f) 使用自動拉伸的位圖
    自動拉伸的位圖----》點9圖片
左邊和上邊是負責拉伸區(qū)域,可以指定需要拉伸的部分。
右邊和下邊是負責間隔區(qū)域,可以指定放置內(nèi)容的位置。
本文版權(quán)歸傳智播客Android培訓學院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客Android培訓學院
首發(fā):http://www.xamj520.com/Android
0 分享到:
和我們在線交談!