我正在绘制一些图形,我想添加滚动条。但是使用表面视图如何以编程方式添加滚动?
答案 0 :(得分:3)
SurfaceView是一个非常特殊的组件,将它与其他组件混合起来并不容易。主要原因是它的工作原理:当您使用SurfaceView时,将创建一个新窗口(默认情况下在活动后面),并且SurfaceView中的所有渲染都将转到该窗口。 SurfaceView还会在活动中“画一个洞”,因此它后面的窗口将是可见的。
SurfaceView需要将窗口位置与其位置同步,这是不完美的。例如,如果你将SurfaceView放在可以滚动的东西里面,那么窗口就不会滚动(至少在上一次我试过的时候,不是在Froyo时间)。
请提供有关您尝试执行的操作的更多信息。如果您只想创建一个自定义组件,则可以更容易地将View子类化并覆盖onDraw(Canvas)。