2012-01-09 3 views
3

У меня есть приложение на основе вкладок «Портретный режим», которое содержит SurfaceView (с предварительным просмотром камеры) на одной из вкладок. Я создаю свой код камеры из Android API Demos, и у меня есть все настройки, которые работают правильно, чтобы сделать одно. Полученный предварительный просмотр камеры растягивается и масштабируется, делая предварительный просмотр выключенным.Android - Сделайте вид поверхности более крупным, чем у родителя.

В идеале я хочу отобразить SurfaceView в собственном размере предварительного просмотра, определяемом камерой на вкладке. Однако это связано с тем, что содержимое вкладки больше, чем ее родитель! (Или, скорее, больше, чем FrameLayout в вкладках).

Как я могу это сделать?

Изображение проблемы: enter image description here

ответ

0

Сделайте FrameLayout корневой объект, а затем складывают вид камеры в нем, то заголовок и вкладка виджет. Возможно, вам придется выполнить какую-то причудливую работу с настройками гравитации и укладкой верхнего/нижнего колонтитула в линейные макеты, но это определенно возможно.

ака:

frame.addView(cameraPreview); 
frame.addView(header); 
frame.addView(footer); 

Это привлечёт объекты в слоях.

EDIT: Если вы не хотите использовать текущую компоновку фрейма, просто создайте еще один. Уложите заголовок, рамку и нижний колонтитул в линейную компоновку. Создайте новый макет кадра, добавьте к нему линейный макет, затем добавьте предварительный просмотр, чтобы нарисовать его.

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