2010-09-10 2 views
3

У меня есть активность с двумя представлениями, установленными в ViewFlipper. Одним из видов является макет с GLSurfaceView и несколько других виджетов, другой - только макет с TextView и VideoView. Когда я нажимаю на что-то в GLSurfaceView, ViewFlipper меняет местами, чтобы видео могло воспроизводиться. На этом снимке экрана вы можете увидеть простой GLSurfaceView, отображающий карту слева. Справа - это то, на что похоже, после того, как ViewFlipper перевернулся и видео начнет воспроизводиться.VideoView в ViewFlipper прозрачен, когда воспроизводится видео

Screenshot

Пустая прозрачная область, где GLSurfaceView сквозит где видео должно быть. Я слышу, как он играет через динамик, и график движется вперед, поэтому я знаю, что он играет.

Я могу отправить код, если вам это нужно, но есть много всего, поэтому он может стать довольно сложным.

Любые идеи относительно того, что здесь происходит?

+0

происходит ли это на устройстве или эмуляторе? потому что у эмулятора есть проблема с воспроизведением видео. – bhups

+1

На устройстве. Это скриншоты из моего Motorola Droid. –

ответ

2

У вас не может быть двух SurfaceViews в деятельности, которая перекрывается, и я подозреваю, что включает в себя такие случаи, как ViewFlipper, где технически они не пересекаются из-за изменений видимости.

+1

Спасибо, в этом проблема. Я смог использовать setVisible (View.INVISIBLE) в GLSurfaceView, чтобы предотвратить их перекрытие. –

+0

Не могли бы вы описать момент, когда вы переключите его на невидимое с помощью 'ViewFlipper'? У меня аналогичная проблема с простой парой «LinearLayout' /' VideoView »для флиппера, и даже когда я скрываю первый макет с помощью setVisibility (INVISIBLE) до или после' flipper.showNext() ', я не вижу видеоокно, но он действительно воспроизводит видео в фоновом режиме. –

+0

и да, вот ссылка на [мой вопрос] (http://stackoverflow.com/questions/3788497/videoview-plays-ok-but-not-visible-when-swapping-fullscreen-views) –

Смежные вопросы