2011-09-24 96 views
0

我是Android編程的新手。我有小遊戲,我把所有東西都畫到屏幕外。當我想呈現它時,我使用從SurfaceView派生的calss。它工作正常。問題是屏幕外的畫布是480x800(目標設備分辨率)像素,但是我通過getHolder()獲得了SurfaceView畫布。lockCanvas()僅爲240x480。因此,它看起來非常難看 - 它首先從屏幕畫布縮小到SurfaceView畫布(放鬆小的細節),然後放大以適應設備屏幕(拉伸回到原始大小)。Android:與目標設備像素不同的SurfaceView畫布大小

由於模擬器也在運行480x800我不知道爲什麼SurfaceView創建得這麼小。爲什麼它不是以仿真設備的大小創建的?我終於繞過它設置固定大小的持有人(getHolder()。setFixedSize(480,800)),但這是正確的方式?

是否有任何其他方式如何強制設備創建其像素大小的SurfaceView?

回答

1

嘗試將此添加到應用程序標記之外的清單。

<supports-screens android:anyDensity="true" />