Android屏幕適配不同的資源圖片和佈局

本文轉自:http://blog.csdn.net/wm111/article/details/7319910

 

1、資源圖片的適配:

       在android 2.1版本之前,存放資源圖片的文件夾名稱爲drawable,應用程序用到的所有的資源圖片都放在其中,所以很難解決不同屏幕大小的圖片適配問題。自android 2.1版本開始,存放資源圖片的文件夾由原來的一個drawable文件夾變成了drawable-hdpi、drawable-mdpi和drawable-ldpi,這是爲了支持不同終端設備的不同分辨率。

drawable-hdpi、drawable-mdpi、drawable-ldpi的區別:

(1)drawable-hdpi裏面存放高分辨率的圖片,如WVGA(480x800),FWVGA(480x854)

(2)drawable-mdpi裏面存放中等分辨率的圖片,如(320x480)

(3)drawable-ldpi裏面存放低分辨率的圖片,如QVGA(240x320)

系統會根據機器的分辨率來分別到這幾個文件夾裏面去找對應的圖片,同一資源的不同分辨率的圖片應該命以相同的名稱存放在不同的資源圖片文件夾中。

 

2、佈局的適配:

       在第1點中我們已經解決了資源圖片的適配問題,但是圖片的大小不同勢必會造成佈局的差異,如果使用一個統一的佈局文件,可能會造成資源圖片無法完整顯示在屏幕內,所以對於這種問題,解決方法是建立不同的layout文件夾,對於不同屏幕的分辨率,書寫其專用的.xml文件。

多個layout文件夾在命名上有相應規則,以分辨率480x854爲例,需要建立480x854像素的layout文件夾,命名:layout-854x480,有兩點需要注意:①大數(854)必須在前,否則會報錯;②兩個數字之間的符號是小寫英文字母“x”,不是乘號。系統會根據機器的分辨率來分別到這幾個文件夾裏面去找對應的佈局文件。



        如果你建立的layout文件夾的分辨率是你的eclipse加載的android工具所支持的分辨率,那麼在可視化的佈局界面中會自動給出屏幕分辨率、屏幕尺寸(紅色箭頭處)等參數,值得注意的是,如果紅色箭頭處是“Custom…”,那麼你就要人爲對其進行修改,選擇合適的屏幕尺寸。




3、設置屏幕的橫豎屏顯示:

      如果不做特殊說明,開發的應用是橫豎屏重力敏感的,如果禁止橫豎屏切換,需要在AndroidManifest.xml文件中做相應的修改:

<activity android:name=".MenuView"

              android:label="@string/app_name"

              android:screenOrientation="portrait">

    在activity的屬性中添加“android:screenOrientation="portrait"”,portrait表示豎屏,橫屏則用landscape表示。

4、dip和px的問題:

在網上找了好多關於“dip和px的區別”的資料,但是解釋的都不是很清楚。我很膚淺的理解:dip是相對的,px是絕對的,所以dip能夠有效解決不同型號手機不同分辨率的佈局適配問題。但是由於在第2點中已經用不同layout文件夾解決了佈局適配的問題,所以在其中使用dip就是沒有意義的,甚至更加麻煩。既然已經分了不同的佈局文件,所以在各個佈局文件中直接使用px單位就可以了。

-------注:

             1、第4點,使用dip可以有效解決不同型號手機不同分辨的佈局適配問題。不使用第2條的文件夾可以不可以?

             2、寫代碼時佈局最好用dip,字體大小最好用ps

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章