2011-12-16 56 views

回答

3

SurfaceView是一个非常特殊的组件,它不容易与其他组件混合使用。主要原因是由于它的工作原理:当你使用SurfaceView时,会创建一个新窗口(默认情况下是活动的后面),并且SurfaceView中的所有渲染都将进入该窗口。 SurfaceView也会在活动中“绘制一个洞”,所以它后面的窗口将会显示。

SurfaceView需要将窗口位置与其位置进行同步,但这并不完美。例如,如果你把一个SurfaceView放在可以滚动的东西里面,窗口就不会滚动(至少它没有在我试过的最后一次,在Froyo时间周围)。

请提供一些关于您正在尝试执行的操作的更多信息。如果你只是想创建一个自定义组件,那么更简单的办法是对子类进行子类化并重写onDraw(Canvas)。

+0

@ Pal:这是否意味着我无法在屏幕底部的表面视图顶部添加横幅广告的视图? – 2011-12-16 09:44:04