4

アプリ内でカメラを使用しようとしましたが、構成変更の適切な処理に問題があります。Activity典型的な(onSaveInstanceState など)構成の変更を処理する適切な方法は知っていますが、ここではそうではありません。

私のアクティビティは、オーバーレイ シャッター ボタンと画像のトリミングに使用されるフレームを備えたフルスクリーン カメラ プレビューと考えてください。

私が達成しようとしていること(ストック HTC Sense カメラのプレビュー): http://youtu.be/uzfUJUNHY68

つまり、オンになっているカメラ プレビューはTextureView回転時に再作成されるべきではありませんが、要素を配置するために、アクティビティは向きを認識している必要があります。

Activityローテーションで を再作成したくないと確信しています。android:configChangesということでアプローチしてみました。問題は、onSurfaceTextureSizeChanged()まだ呼び出され、カメラのプレビューが回転し、エクスペリエンス全体がスムーズではないことです (プレビューが少し遅れて「再作成」されるか、何かが発生します)。

を介してアクティビティを横向きにロックしようとしましandroid:screenOrientation="landscape"たが、この方法onConfigurationChanged()は呼び出されず、上のビデオのように他のビューを配置する方法がわかりません。いくつかのアクセラレータ イベントをリッスンできると思いますが、もっと良い方法があると確信しています。ある?

4

2 に答える 2

-1

このオプションを試してください。

android:configChanges="keyboardHidden|orientation|screenSize"
于 2013-07-17T08:48:25.143 に答える