Android 資源國際化問題(3): 不同像素的手機

來源:互聯網
上載者:User

在部落格 Android 資源國際化問題(2): finger的迷惑 基礎之上,繼續探討資源國際化問題。


不同像素的手機,可以配置不同的檔案,先看幾個概念。






具體可參看sdk-path/docs/guide/practices/screens_support.html


可以看出,模擬器對於小螢幕Small Screen的QVGA(320x240)就是ldpi、對於Nomal screen來說HVGA(480x320)就是mdpi。其它的見上述,可自己分析。

建立android項目,res檔案夾如下:




三張icon圖片名稱一樣,但是內容不一樣,按照上面排列順序,三張圖片分別是:、、

main.xml與上篇部落格的內容一致,可參考 Android 資源國際化問題(2): finger的迷惑 

運行app在嗎320*480的模擬器上面,顯示效果如下

豎屏時,顯示效果:



橫屏時,顯示效果:




可以看出,選擇顯示的是drawable-mdpi檔案夾下面的圖片。

運行app在嗎320*240的模擬器上面,顯示效果如下

豎屏時,顯示效果:




橫屏時,顯示效果:




可以看出,選擇顯示的是drawable-ldpi檔案夾下面的圖片。

對於其它像素的手機,您可以自己測試。


那麼,在不同的手機中如何選擇圖片呢?sdk api有這樣一句話:

There is thus a 3:4:6 scaling ratio between the three densities, so a 9x9 bitmap in ldpi is 12x12 in mdpi and 18x18 in hdpi.


說明,要遵循 l:m:h = 3:4:6 的比例來為您的app選擇圖片。來接著挖掘資訊,看這張圖:




計算一下, l:m:h:x = 120:160:240:320 = 3:4:6:8


換句話說,您在drawable-ldpi中準備圖片是在32x32,那麼drawable-mdpi、drawable-hdpi、drawable-xdpi就需要48x48、72x72、96x96的圖片。


注意:xhdpi只適合android2.2及以上手機。


這裡必須明白一點,就是如果你只準備適合一種像素的drawable檔案夾,如drawable-hdpi,並不是在ldpi的手機上就不會顯示圖片或者報錯的問題。因為資源名稱是惟一的,在ldpi手機上照樣可以顯示圖片資源,只不過不好看而已。


另外,nodpi官方解釋nodpi: This can be used for bitmap resources
that you do not want to be scaled to match the device density.


就是說drawable-nodpi下的不可以在不同像素的手機上自動縮放,那麼可以在該檔案夾下面放一些Bitmap(位元影像),當讓名稱可以與其它drawable檔案夾下面的圖片名稱不一致。具體什麼意思,後會有期吧。


推薦文章

Android Drawable、Bitmap、Canvas和Paint的區別

圖片:jpg png gif bmp 區別(四)









相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.