2017-01-19 4 views
0

Я использую API Camera2 для установки фрагмента imagecapture. Я хочу использовать камеру только в портретном режиме. Таким образом, я установил эту строку в манифесте в родительской активности фрагмента:Объект предварительного просмотра Camera2 API

android:screenOrientation="portrait" 

Который блокирует предварительный просмотр камеры на портрете. Однако аспект изображения просто неправильный. Когда изображение захвачено, никаких проблем с этим аспектом нет, и изображение выглядит так, как должно, но все еще не в полноэкранном режиме. Я подозреваю, что выход камеры растянут, чтобы заполнить экран в моем предварительном просмотре. Как сделать предварительный просмотр и захваченное изображение заполнить весь экран и сохранить его соотношение сторон, как Snapchat?

Я использую Google sample в качестве моей ссылки и изменил AutoFitTextureView на match_parent в файле макета XML.

это, как она выглядит в нормальном портрет enter image description here

и это, как это выглядит, когда я повернуть телефон и все еще находится в портретном режиме enter image description here

ответ

0

AutoFillTextureView попытки сохранить пропорции правильно, но если вы меняете параметры макета, возможно, это не удастся.

Правильно ли все работает, если вы не делаете его «match_parent»?

В целом, элементы интерфейса Android будут заполняться входными данными, поэтому вам необходимо установить размер представления в правильное соотношение сторон, чтобы избежать растяжения.

0

Для тех, кто сталкивался с этой проблемой, как я, и если вы использовали образец Google до июня 2017 года, то настройка вашей линии в AutoFitTextureView должна исправить соотношение сторон предварительного просмотра. Это так же просто, как изменение «<» на «>», которое вы можете увидеть here.

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