首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SurfaceView工件

SurfaceView工件
EN

Stack Overflow用户
提问于 2012-06-11 00:07:15
回答 1查看 566关注 0票数 1

我的layout.xml由一个带有几个TextViews和按钮的FrameLayout组成,我像使用MediaController一样使用它,它还包含一个SurfaceView。在代码中,我创建了一个MediaPlayer,并将SurfaceView的SurfaceHolder设置为如下所示:

代码语言:javascript
复制
surfaceView = (SurfaceView) findViewById(R.id.video_surfaceview);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
mediaPlayer.setDisplay(surfaceHolder);

这对于显示视频非常有效,但当我尝试调用:

代码语言:javascript
复制
overLayTextView.setVisibility(View.Gone);

overLayTextView仍然可见。我尝试检索overLayTextView的视图状态,但它被设置为Gone。我认为SurfaceView不会更新它的绘制状态,直到它感觉到(通常发生在20+秒之后)。所以我的问题是,是否有什么我可以在SurfaceView或SurfaceHolder上调用来通知他们应该“重画”他们的一些内容?(显然不是视频)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-12 18:19:00

我刚刚意识到这个线程仍然使用视频信息更新覆盖图,称为:

代码语言:javascript
复制
overLayTextView.setText(mediaPlayer.getDuration());

在“无表面”布局中,这并不重要,因为视图是隐藏的,但在SurfaceView中显然不是这样(至少在某些设备上,奇怪的是)。

希望这能帮上忙,干杯。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10970188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档