Android屏幕的兼容性

时间:2013-07-30 00:44:32

标签: android screen

我正在制作一个带有棋盘和棋盘游戏的游戏。此时,我一直在使用绝对布局并将电路板设置为我想要的尺寸,并将对象设置为我想要的电路板上的位置。但是,我知道这不是编写这些应用程序的最佳方式。如何使我的应用程序适合所有智能手机,仍然可以灵活地使我想要的板尺寸,并将对象准确地放在我想要的板上?我应该为每个屏幕尺寸(HD,WVGA等)制作单独的xml文件吗?您建议使用哪种布局类型?谢谢!

2 个答案:

答案 0 :(得分:0)

我强烈建议您不要自己编写游戏框架,并使用像AbsoluteLayout这样的东西,而是使用已经存在的众多游戏框架之一,并有多种方法来处理这个问题。您应该使用包含低级openGL调用的框架,而不是使用AbsoluteLayout,并在屏幕上定位,并且每秒能够获得60多帧。对于Android,我强烈推荐libGDX,它具有大量的社区支持和高性能。

libGDX将允许您创建一个Android应用程序,一个桌面应用程序(非常适合开发,因为您可以在不到一秒的时间内启动它并测试您的代码),以及一个运行在浏览器。 (如果你愿意的话,有办法为iphone编译它,但我从未尝试过)。

使用libGDX有几种方法可以解决您所谈论的问题(这是一个常见问题)。如果您希望更大的屏幕具有略微不同的宽高比,您可以显示更多内容,您可以拉伸屏幕以适应它,或者您可以引入略微不同宽高比的黑条,所有这些都可以轻松完成,因为你是设置你的观点。

如果您有兴趣,可以在他们的main site.

上找到有关教程和文档的大量链接

修改 这是一个处理libGDX的多个屏幕分辨率的问题:Dealing with different aspect ratios in libgdx

答案 1 :(得分:0)

对于游戏,你应该考虑使用游戏库。

我知道的2个热门图书馆是libGdxAndEngine

每个人都有自己的优点和缺点。

根据我的经验,LibGdx比AndEngine更难学,更低,但它具有更高的性能,可以跨平台运行(即使在你自己的PC上)。

AndEngine基于LibGdx,所以它有一些优点,但它不一样。

另一种可能的解决方案是学习openGL ES并自行完成所有工作。目前,大约99%的设备都有openGL ES 2,所以也许可以学习它而不是openGL ES 1.