Поддержка нескольких активных перекрывающихся видов поверхности в Android - PullRequest
9 голосов
/ 10 октября 2011

В настоящее время я работаю над приложением для Android, которому требуется несколько перекрывающихся SurfaceViews на одном экране.

Если быть точным, у меня есть два активных перекрывающихся SurfaceView, один из которых подключен к камере, а другой подключен к MediaPlayer. Это в основном работает, но не стабильно. Иногда один из SurfaceViews не отображается.

Я видел поток из 2009 (http://groups.google.com/group/android-developers/browse_thread/thread/08e7df2e96a7973d)), в котором говорится, что перекрывающиеся SurfaceViews не поддерживаются в Android. Это все еще так?

Ответы [ 3 ]

13 голосов
/ 17 октября 2011

Я узнал это сам. Вызов setZOrderOnTop (true) для SurfaceView, который я хочу иметь сверху, кажется, решает проблему

0 голосов
/ 09 августа 2017
surface.setZOrderOnTop(true);
surface.setZOrderMediaOverlay(true);

Если установлены два из Surfaceview, возникнет проблема окклюзии, если вы хотите, чтобы один из них был сверху, то установите только Setzorderontop (true), но при этом он всегда будетвверху, и любое другое представление будет заблокировано, если вы установите Setzorderontop и установите Setzordermediaoverlay, то Setzorderontop не будет работать

0 голосов
/ 10 октября 2011

Я написал приложение один раз с перекрывающимися линейными макетами. Это работало нормально, когда я перекрывал их с view.layout(l,t,r,b). Я не уверен, что это также работает с SurfaceViews. Как вы их перекрываете?

...