Принудительный портретный режим в камере - PullRequest
6 голосов
/ 28 марта 2012

Я вызываю камеру, используя намерение, и нажимаю на картинку.В настоящее время я нахожусь на эмуляторе и хотел бы заставить камеру нажимать на фотографии в портретном режиме (необходимо сделать видеозапись видео работы приложения, чтобы изменение ориентации выглядело бы плохо), но экран камеры выглядит как пейзаж и все дальнейшие действия, которые я вызываю вonActivityResult().

Camera Screen

После нажатия на изображение макет «Активность» отображается в ландшафтном режиме, например: enter image description here

, в то время как все мои предыдущие действия отображались правильнов портретной ориентации.Я попытался добавить

android:screenOrientation="portrait" 
android:configChanges="orientation|keyboardHidden"

к упражнению, показанному выше, но безрезультатно. Хотя, когда я попал домой и после возобновления, он отображается правильно в портретной ориентации.

Так как мне включить режим портрета?

Ответы [ 5 ]

2 голосов
/ 03 апреля 2012

Ни одно из решений не работает. В макетах тоже нет ничего плохого. Я запустил его, запустив более высокую версию (от API10 до API15).Weird !!

0 голосов
/ 01 января 2017

Вам нужно только установить Id для каждого из ваших просмотров. Вам не нужно включать портретный режим в камере. Сделав это, предотвратите действие по воссозданию представлений и потере данных

0 голосов
/ 19 марта 2013

Я думаю, что это известная проблема, см. Камера | SetDisplayOrientation

0 голосов
/ 01 апреля 2012

Напишите в файле manifest.xml, где вы определили это действие.

<activity android:name="your_activity name" android:screenOrientation="portrait" />

Это должно работать.Я предлагаю вам проверить на реальном устройстве.

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

0 голосов
/ 28 марта 2012

Эта работа должна:

 Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
 i.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
 i.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
 startActivityForResult(i, CAMERA_CODE); 
...