DecorView没有绘制SurfaceView

时间:2013-02-26 22:21:53

标签: android android-view

我有一个使用SurfaceView绘制内容的应用程序。我想在我的应用程序中添加一个漂亮的ShowcaseView库,它使用getWindow().getDecorView()).addView(...)在其他视图和装饰之上绘制自己。但在我的情况下,它不会覆盖我的SurfaceView(如果我从布局中移除它,一切都很完美)。

这是Android架构的限制,还是我可以在SurfaceView中调整某些内容或修改ShowcaseView库中的内容?

更新

如果我在创建mySurfaceView.setVisibility(View.INVISIBLE)之前致电ShowcaseView,一切都很完美(除了我的主视图区域是黑色的)。

更新2

我在文档中读到了SurfaceView的Z索引。我不会在我的代码中触摸它们。

1 个答案:

答案 0 :(得分:4)

在调用SurfaceView的超级构造函数后添加setWillNotDraw(false)


关于surfaceview的其他提示

可能会有所帮助
  1. 将SurfaceView添加到Container -e.g.的RelativeLayout
  2. 在使您的视图可见后
  3. 致电getWindow().getDecorView()).requestTransparentRegion(mySurfaceView);