gpt4 book ai didi

java - Android:addContentView() 在屏幕状态改变之前不会出现

转载 作者:行者123 更新时间:2023-11-30 04:02:33 25 4
gpt4 key购买 nike

我正在努力在当前运行的 Activity 之上添加视频。我已经设法使用以下方法实现了这一点:

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 直到屏幕状态改变后才出现在屏幕上。我必须关闭屏幕才能将 View 添加到 Activity 中。之后,一切都按预期进行。

有人知道为什么会这样吗?

编辑:从对 Kelvin Trinh 的评论中添加了更多信息。

这是一个使用原生视频组件的AIR Native Extension。 AIR 应用程序充当主要 Activity ,但我无权访问布局或类似内容。 this.activity 是主要 Activity ,取自扩展上下文(AIR 和 Java 应用程序如何通信)。我需要在我的应用程序顶部显示视频,我已经完成了。

最佳答案

您没有提供包装代码的类,但我猜这是您主要 Activity 中的一个 View 。

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

关于java - Android:addContentView() 在屏幕状态改变之前不会出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12270153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com