Android SurfaceView 与 GLSurfaceView 的壁纸风格背景

标签 android opengl-es background surfaceview

我需要为我的一个项目创建一款游戏。该游戏不是图形游戏,但我仍然希望它有漂亮的外观(也许是 3D 背景外观)。 我想我应该使用一种不同的技术,而不仅仅是通过 xml 文件加载背景。我想创建一个具有漂亮纹理背景的表面 View (我想要的是类似于动态壁纸的背景)。我知道有 rendererscript,但我显然它在 api 级别低于 11 时不起作用???我想定位 API 级别 7 或 8。

这是我计划做的事情:

    mView = new BasicGLSurfaceView(getApplication());

    View inflatedView=View.inflate(this, R.layout.title, null);
    View inflatedView2=View.inflate(this, R.layout.buttons, null);

    setContentView(mView);
    this.getWindow().addContentView(inflatedView, 
            new LayoutParams(LayoutParams.MATCH_PARENT, 
                    LayoutParams.WRAP_CONTENT));
    this.getWindow().addContentView(inflatedView2, 
            new LayoutParams(LayoutParams.MATCH_PARENT, 
                    LayoutParams.MATCH_PARENT));

我想知道哪种方式最好: 使用打开的 GLSurfaceView 或普通的 SurfaceView 和 Canvas。哪一个更快并且看起来更好? 您能否建议我实现最佳解决方案?

谢谢

最佳答案

Canvas 更简单,速度也更快,但不支持 3D 绘图。既然您说您可能想做 3D,那么您会想使用 GLSurfaceView 和 OGLES。对于 2D 绘图,Canvas 的性能通常优于 OpenGL。

关于Android SurfaceView 与 GLSurfaceView 的壁纸风格背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9431774/

相关文章:

android - ionic 库和异步操作

iphone - 矩阵堆栈容量在 Android NDK 中有点小

iphone - 如何将 iOS 应用程序置于后台模式,并设置音频选项?

ios - iOS OpenGL ES 3.0 上的转换反馈变量重新声明错误

java - 在适用于 Android 的 OpenGL ES 中使用 2D 游戏渲染图像

Android更改导航 View 菜单背景

javascript - 如何使此部分背景响应?

android - 获取数据库时出现无效的 Firebase 路径错误

android - 人行横道 XWalkView : Request was denied for Security (Android 7. 0 及更高)

java - 我需要帮助 : Send a list of bytes with UDP to a Server, o 它适用于有符号/无符号字节