My layout.xml состоит из FrameLayout с несколькими текстовыми элементами и кнопками, которые я использую как MediaController, а также содержит SurfaceView. В коде я создаю MediaPlayer и устанавливает SurfaceHolder в SurfaceView как на дисплее, как это:SurfaceView artifacts
surfaceView = (SurfaceView) findViewById(R.id.video_surfaceview);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
mediaPlayer.setDisplay(surfaceHolder);
Это прекрасно работает для отображения видео, но когда я пытаюсь вызвать:
overLayTextView.setVisibility(View.Gone);
overLayTextView является все еще видно. Ive попытался восстановить состояние представления overLayTextView, и он настроен на Gone. Я думаю, SurfaceView не обновляет свое состояние рисования до тех пор, пока он не почувствует себя (обычно это происходит через 20 секунд). Итак, мой вопрос в том, есть ли что-нибудь, что я могу вызвать в SurfaceView или SurfaceHolder, чтобы уведомить их о том, что они должны «перерисовать» часть своего контента? (очевидно, не видео).