首先,让我提供一些上下文以使问题更准确:
我正在开发一款 Android 游戏(使用 SurfaceView、Canvas 等),它非常适合游戏部分。我最初尝试在菜单和其他 UI 元素上使用 View 派生元素,并通过实验和查看 Stackoverflow 上的一些问题迅速意识到这是一个非常糟糕的主意,因为它们不能很好地混合(比如 LinearLayout在 SurfaceView 的顶部)。
我看到了 3 条可能的路径:
A) 继续在 SurfaceView 之上使用 View 元素(并处理它的问题,例如可怕的延迟)
B) 在 SurfaceView/Canvas 上手动绘制 UI 元素。类似于:canvas.drawBitmap(menuBitmap, posX, posY, ...); 然后手动处理触摸,并遭受屏幕碎片
C) 使用专门为此设计的库/框架来处理 UI 的所有绘制、触摸按钮、拖动滚动等。类似于 View 及其派生元素,但专为使用 SurfaceView 绘制的游戏和应用程序而设计。
还有更多我没有看到的选择吗?“C”对我来说似乎是最好的,但有没有一个图书馆呢?哪一个?
编辑:忘了问最明显的问题,还有:其他专业/商业游戏如何处理这个问题?
谢谢