Android:適配不同解析度&hdpi、mdpi、ldpi&橫屏豎屏

來源:互聯網
上載者:User
文章目錄
  • Android 項目中values-v11 values-v14這兩個檔案夾中的style.xml是幹嘛的?在2.3的時候怎麼沒有?

有人肯定會對於android中放置圖片的地方drawable—hdpi、drawable—mdpi、drawable—ldpi這三個感到好奇。肯定心裡會想,放在哪一個都行,只要是在android中的res目錄下的drawable中就行,系統會自己找到。有心的朋友肯定會他把弄個究竟。我以前對drawable—hdpi、drawable—mdpi、drawable—ldpi這三個也瞭解了一下,但是只是字面上的,沒有真正理解透徹,到今天我才算有稍深點的理解。drawable—hdpi看他的單詞名肯定知道他是放置高解析度的圖片,drawable—mdpi放置中等解析度的圖片,drawable—ldpi放置低解析度的圖片。大部分人都把的圖片放在drawable—mdpi中。起初我認為隨便將圖片放置在三個當中的任意一個都行,但是今天我知道了。在解析度低於480*800時把圖片放在drawable—mdpi中是不會有什麼影響,但是當解析度為420*800或高於它時就會出問題了。你的手機螢幕有那麼大但是他會將圖片展開,當載入圖片後讓你感覺該螢幕沒有實際的大小,而如果將圖片放到drawable—hdpi中則該問題就不會存在了。比如手機螢幕的大小為420*800如果你將圖片放在drawable—mdpi中,那麼你就要準備一張340*525解析度的圖片,今天我就遇到了,很是讓我鬱悶當時我還以為螢幕有誤差,查閱其他代碼後才發現自己把圖片放錯了位置,暈死(經理也在旁邊坐著),很是糗啊!!!(摘自http://bbs.hiapk.com/thread-749939-1-1.html)

一:不同的layout
Android手機螢幕大小不一,有480×320, 640×360, 800×480.怎樣才能讓App自動適應不同的螢幕呢?
其實很簡單,只需要在res目錄下建立不同的layout檔案夾,比如layout-640×360,layout-800×480,所有的layout檔案在編譯之後都會寫入R.java裡,而系統會根據螢幕的大小自己選擇合適的layout進行使用。

二:hdpi、mdpi、ldpi

在之前的版本中,只有一個drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三個,這三個主要是為了支援多解析度。
drawable- hdpi、drawable- mdpi、drawable-ldpi的區別:
(1)drawable-hdpi裡面存放高解析度的圖片,如WVGA (480×800),FWVGA (480×854)
(2)drawable-mdpi裡面存放中等解析度的圖片,如HVGA (320×480)
(3)drawable-ldpi裡面存放低解析度的圖片,如QVGA (240×320)
系統會根據機器的解析度來分別到這幾個檔案夾裡面去找對應的圖片。
在開發程式時為了相容不同平台不同螢幕,建議各自檔案夾根據需求均存放不同版本圖片。

三:橫屏豎屏

以下步驟是網上流傳的,不過我自己之前是通過圖形化介面實現這個配置,算是殊途同歸,有空我會把圖片貼上來。
還要說明一點:每個activity都有這個屬性screenOrientation,每個activity都需要設定,可以設定為豎屏(portrait),也可以設定為無重力感應(nosensor)。
要讓程式介面保持一個方向,不隨手機方向轉動而變化的處理辦法:

在AndroidManifest.xml裡面配置一下就可以了。加入這一行android:screenOrientation=”landscape”。
例如(landscape是橫向,portrait是縱向):

對於Android遊戲開發我們不得不像iPhone那樣思考相容 Android平板電腦,對於蘋果要考慮iPad、iPhone 3GS和iPhone 4等螢幕之間的相容性,對於幾乎所有的解析度總結了大約超過20中粉筆阿女郎的大小和對應關係,對於開發Android遊戲而言可以考慮到未來的3.0以及很多平板電腦的需要。

常規的我們可能只考慮QVGA,HVGA,WVGA,FWVGA和DVGA,但是拋去了手機不談,可能平板使用類似WSVGA的1024×576以及WXGA的1280×768等等。
QVGA = 320 * 240;
WQVGA = 320 * 480;
WQVGA2 = 400 * 240;
WQVGA3 = 432 * 240;
HVGA = 480 * 320;
VGA = 640 * 480;
WVGA = 800 * 480;
WVGA2 = 768 * 480;
FWVGA = 854 * 480;
DVGA = 960 * 640;
PAL = 576 * 520;
NTSC = 486 * 440;
SVGA = 800 * 600;
WSVGA [...]

轉自轉自(http://blog.sina.com.cn/s/blog_476d58ef0100p23d.html)

Android 項目中values-v11 values-v14這兩個檔案夾中的style.xml是幹嘛的?在2.3的時候怎麼沒有?

 

values-v11代表在API 11+的裝置上,用該目錄下的styles.xml代替res/values/styles.xml
values-v14代表在API 14+的裝置上,用該目錄下的styles.xml代替res/values/styles.xml

其中API 11+代表android 3.0 +
其中API 14+代表android 4.0 +
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.