拉伸/收缩画布

时间:2013-03-16 15:04:38

标签: java android android-canvas

我正在制作一款安卓游戏。我在Galaxy sII上测试我的应用程序。我取得了很大进步。不幸的是,我忽略了为其他设备测试它。我知道我会遇到不同类型设备的不同分辨率问题。但我认为我可以通过安排我的坐标值来处理。但现在我觉得这是一项非常艰巨的任务。我不能回到起点,因为我写了很多代码。

我的问题是,有什么方法可以将我的画布拉伸/缩小到其他分辨率,尽管我给出了800x480的值?

P.S。:我在我的帖子中通过Canvas canvas = holder.lockCanvas();得到了我的画布。

由于

3 个答案:

答案 0 :(得分:1)

我对此事并不完全胜任,但你应该能够在Canvas上进行矩阵变换。看看这个similar question是否会提供一个起点。另外,请阅读Wikipedia中的问题。

编辑:我现在想到这可能会将对象或部分对象放在屏幕外或引入透视问题......

答案 1 :(得分:1)

你可以做的是使用Canvas作为视图绘制并在xml中设置布局参数。 这将允许Canvas视图以最小的努力动态地改变每个分辨率。

像SurfaceView一样。

答案 2 :(得分:1)

    canvas.scale(float scaleX, float scaleY). Try this.

另请考虑文档中的提示。 http://developer.android.com/guide/practices/screens_support.html

相关问题