我想在用户点击按钮时显示分数(让+1飞到屏幕顶部),我想知道使用表面视图或视图是否更好?
答案 0 :(得分:2)
有关SurfaceView
和View
之间差异的详情,请参阅here。
对于您的情况,View
可能更简单和恰当。
如果您的应用程序不需要大量处理或帧速率(可能用于国际象棋游戏,蛇形游戏或其他慢速动画应用程序),那么您应该考虑创建自定义视图组件并使用View.onDraw()中的Canvas。这样做的最方便的方面是Android框架将为您提供预定义的Canvas,您可以在其中进行绘图调用。
另一方面,SurfaceView
未在主线程上绘制,而是在辅助线程上进行:
SurfaceView是View的一个特殊子类,它在View层次结构中提供专用的绘图表面。目的是将此绘图表面提供给应用程序的辅助线程,以便应用程序不需要等到系统的View层次结构准备好绘制。相反,引用SurfaceView的辅助线程可以按照自己的节奏绘制到自己的Canvas。
答案 1 :(得分:0)
我认为观点更适合这种情况。您可以将视图转换为屏幕顶部。
到目前为止,我只使用SurfaceView渲染背景图形。当然你可以使用SurfaceView来做到这一点,但这会在编码方面带来更多的复杂性。你需要画出这个" + 1"并逐帧计算其位置。
使用视图,您可以只应用动画,设置持续时间,这应该可以解决问题。