2011-10-10 33 views
9

Tôi hiện đang làm việc trên một ứng dụng Android cần nhiều SurfaceView chồng lấp nhau trong một màn hình.Hỗ trợ nhiều chế độ xem chồng chéo bề mặt đang hoạt động trong Android

Để chính xác, tôi có hai SurfaceView chồng chéo đang hoạt động, một được kết nối với Camera và thiết bị kia được kết nối với MediaPlayer. Nó chủ yếu hoạt động nhưng không ổn định. Đôi khi, một trong những SurfaceViews không hiển thị.

Tôi đã xem chuỗi từ năm 2009 (http://groups.google.com/group/android-developers/browse_thread/thread/08e7df2e96a7973d) cho biết SurfaceView chồng chéo không được hỗ trợ trong Android. đây vẫn là trường hợp? Bất cứ ai cũng có thể chia sẻ kinh nghiệm về điều này?

Trả lời

10

Tôi đã tự tìm ra. Gọi setZOrderOnTop (true) trên SurfaceView Tôi muốn có trên đầu dường như giải quyết vấn đề

+0

Nó cũng làm cho tôi nữa! Tuyệt vời, tuyệt vời, tuyệt vời, tuyệt vời, hoàn hảo! :-D –

+0

Chỉ là về để mất hy vọng .. Bạn là một anh hùng – drewi

0

Tôi đã viết một ứng dụng một lần, với Bố cục tuyến tính chồng chéo. Nó hoạt động tốt khi tôi chồng lên chúng với view.layout(l,t,r,b). Tôi không chắc chắn nếu điều đó cũng làm việc với SurfaceViews. Làm thế nào để bạn chồng chéo chúng?

+0

Cảm ơn bạn đã nhanh chóng phản ứng. Tôi cho rằng surfaceview hơi khác so với các chế độ xem thông thường khác. Tôi sử dụng framelayout để chồng lên chúng. <> –

0
surface.setZOrderOnTop(true); 
surface.setZOrderMediaOverlay(true); 

Nếu hai Surfaceview được thiết lập, sẽ có một vấn đề về khớp cắn, nếu bạn muốn một trong số họ để có mặt tại trên cùng, sau đó chỉ đặt Setzorderontop (true), nhưng khi làm như vậy, nó sẽ luôn ở trên cùng, và bất kỳ chế độ xem nào khác sẽ bị chặn, nếu bạn đặt Setzorderontop và đặt Setzordermediaoverlay, Setzorderontop sẽ thất bại

Các vấn đề liên quan