【发布时间】:2011-12-16 07:01:23
【问题描述】:
我正在绘制一些图形,我想为其添加滚动条。但是使用表面视图如何以编程方式添加滚动?
【问题讨论】:
标签: android android-layout surfaceview
我正在绘制一些图形,我想为其添加滚动条。但是使用表面视图如何以编程方式添加滚动?
【问题讨论】:
标签: android android-layout surfaceview
SurfaceView 是一个非常特殊的组件,不容易与其他组件混合使用。主要原因在于它的工作原理:当你使用 SurfaceView 时,将创建一个新窗口(默认在 Activity 后面),并且 SurfaceView 中的所有渲染都将转到该窗口。 SurfaceView 也会在 Activity 中“画一个洞”,因此它后面的窗口将是可见的。
SurfaceView 需要将窗口位置与它的位置同步,这并不完美。例如,如果您将 SurfaceView 放在可以滚动的东西中,则窗口将不会滚动(至少在我上次尝试时没有滚动,大约是 Froyo 时间)。
请提供更多有关您尝试执行的操作的信息。如果您只是想创建一个自定义组件,只需子类化 View 并覆盖 onDraw(Canvas) 会更容易。
【讨论】: