我正在開發基於SurfaceView類的android遊戲。目前,我試圖優化不同屏幕尺寸的視圖。畫布位圖繪製和屏幕密度
問題1:我有PNG檔案在我的res文件夾,我使用Canvas.drawBitmap吸引他們。閱讀這篇文章(http://developer.android.com/guide/practices/screens_support.html)後,我認爲如果屏幕較大,android會調整位圖大小。不幸的是,我發現在平板電腦上啓動我的應用程序與在手機上啓動應用程序時沒有縮放(或任何更改)。那麼它是如何完成的?我是否應該想出一些奇特的策略來計算可用空間並使用源矩形和目標矩形繪製我的位圖?如果有人有一個最佳實踐或一些提示如何在畫布上繪製位圖,會是很好的。我已經閱讀了像素< - > dip轉換主題,但我不得不說我不知道如何在我的應用中使用該「解決方案」。因此,任何幫助讚賞...
問題2:我在res文件夾3個PNG格式。一個ldpi,一個mdpi和一個hdpi。 Ldpi圖像有50px * 50px,mdpi有75px * 75px,hdpi有100px * 100px。當我在模擬器(800 * 480)中加載應用程序時,它使用100 * 100 png。當我在Acer Iconia Tab上加載應用程序時,它使用75 * 75圖像。我認爲hdpi適用於大屏幕(= tab),mdpi或ldpi將用於模擬器屏幕。至少我認爲機器人會用華電國際形象也是選項卡上,但我得到驚訝...任何移出這個也大加讚賞
對不起4長的文字,只是想清楚...
CYA EffDee
感謝您的評論。我試着用密度工作,但沒有運氣...我仍然有點困惑...我有一個寬度(= W)和高度(= H)的位圖,而不是像我的原型-Verson中繪製位圖給點10,10與 'drawBitmap(MYBITMAP,10,10,NULL)' 你建議我這樣做 'drawBitmap(MYBITMAP,wholeBitmapRect,新的矩形(10,10,W * densityFactor,H * densityFactor) ,null)' 這讓我瘋狂! thx用於清除與dpi的價值...現在它是有道理的;) – Effdee
本文可能對您有用:http://stackoverflow.com/questions/5014882/drawing-a-bitmap-on-一個帆布-了縮放/ 5017017#5017017 – Thomas