6

インテントを使用してカメラを呼び出し、画像をクリックしています。現在、私はエミュレーターを使用しており、カメラにポートレートモードで写真をクリックさせたいと考えています(アプリが動作しているビデオをキャプチャする必要があるため、向きの変更は見栄えが悪くなります)が、カメラの画面は横向きに表示され、その他のすべてのアクティビティを呼び出しますonActivityResult().

カメラ画面

画像をクリックすると、アクティビティレイアウトが次のような横向きモードで表示されます。 ここに画像の説明を入力してください

以前のすべてのアクティビティは縦向きで正しく表示されています。追加してみました

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

上記のアクティビティにアクセスできますが、役に立ちません。ただし、家に帰って再開すると、縦向きで正しく表示されます。

では、ポートレートモードを強制するにはどうすればよいですか?

4

5 に答える 5

2

どのソリューションも機能しません。レイアウトにも問題はありません。より高いバージョン(API10からAPI15)で実行することで機能するようになりました。変!!

于 2012-04-03T06:55:25.740 に答える
0

これは既知の問題だと思います。Camera|SetDisplayOrientationを参照してください。

于 2013-03-19T09:49:08.540 に答える
0

ビューごとにIDを設定するだけで済みます。カメラでポートレートモードを強制する必要はありません。これを行うことで、ビューを再作成してデータを失うアクティビティを防ぎます

于 2017-01-01T17:17:38.033 に答える
-1

このアクティビティを定義したmanifest.xmlに書き込みます。

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

これは機能するはずです。実際のデバイスをチェックインすることをお勧めします。

プレビューを開始する画像キャプチャクラスにこのコードを使用します。

于 2012-04-01T15:00:13.030 に答える
-2

このshoudlの仕事:

 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); 
于 2012-03-28T13:33:30.357 に答える