2011-09-24 94 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" />