2012-09-04 76 views
1

我正在当前正在运行的活动之上添加视频。我已成功地实现这一目标使用下列内容:Android:addContentView()在屏幕状态改变之前不会出现

this.surface = new SurfaceView(getApplicationContext()); 
this.surface.getHolder().addCallback(this); 
WindowManager.LayoutParams params = new WindowManager.LayoutParams(); 
params.height  = 500; 
params.width  = 500; 
this.activity.addContentView(surface, params); 

我那么MediaPlayer的重视从this.surface得到的SurfaceHolder。它的工作原理与我需要的完全一样,除了一件事情:直到屏幕状态改变后,SurfaceView才会出现在屏幕上。我必须关闭屏幕才能将视图添加到活动中。之后,一切都按预期工作。

任何人都有任何线索为什么会发生这种情况?

编辑:添加更多信息从评论开尔文Trinh。

这是使用本地视频组件的AIR本机扩展。 AIR应用程序充当主要活动,尽管我无法访问布局或任何类似的内容。 this.activity是主要活动,取自扩展上下文(AIR和Java应用程序如何通信)。我需要将视频展示在我已完成的应用上。

回答

1

你没有提供包装你的代码的类,但我想这是你主要活动中的一个视图。

this.activity.addContentView(surface, params);表示在您处于特定视图时向活动添加表面视图。这只会将表面的引用添加到活动的视图层次结构中,并且仅当活动重新加载(重新创建,重新启动或恢复)时更新了

+0

对不起,我应该在问题中更具体。这是一个使用本地视频组件的AIR本机扩展。 AIR应用程序充当主要活动,尽管我无法访问布局或任何类似的内容。 this.activity是主要活动,取自扩展上下文(AIR和Java应用程序如何通信)。我需要将视频展示在我已完成的应用上。我只需要弄清楚如何在添加它时显示正确。我会对你所说的话做一些快速的研究,希望它会有所帮助。谢谢回复。 –

相关问题