我的 layout.xml 包含一个带有一些 TextView 和 Button 的 FrameLayout,我像 MediaController 一样使用它,它还包含一个 SurfaceView。在代码中,我创建了一个 MediaPlayer 并将 SurfaceView 的 SurfaceHolder 设置为 Display,如下所示:
surfaceView = (SurfaceView) findViewById(R.id.video_surfaceview);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
mediaPlayer.setDisplay(surfaceHolder);
这非常适合显示视频,但是当我尝试调用时:
overLayTextView.setVisibility(View.Gone);
overLayTextView 仍然可见。我试图检索 overLayTextView 的视图状态,并将其设置为 Gone。我认为 SurfaceView 直到感觉像(通常发生在 20 多秒后)才会更新其绘图状态。所以我的问题是我是否可以调用 SurfaceView 或 SurfaceHolder 来通知他们应该“重绘”他们的一些内容?(显然不是视频)。