1

Redlaser のスキャナー ライブラリから構築されたバーコード スキャナー アプリに取り組んでおり、カメラの向きを切り替えるスキャナー オーバーレイにボタンを実装しようとしています。私はこの問題に長い間悩まされてきましたが、まだ解決策を見つけることができません。以下は、私が試したもののうまくいかなかった解決策のリストです。たぶん、誰かがそれらを改善したり、何か違うものを考え出すことができます.

1.UI の回転 -> 向きをそのままにして、ボタンを回転させるだけです。受け入れられない:ローテーションは Android 2.3 では利用できず、アプリは 2.3 と互換性がある必要があります。

2.android:configChanges="keyboardHidden|orientation|screenSize"とを使用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);して向きを変更します。機能しません:これはビューを回転させますが、画像が歪んでおり、電話を上に動かすとカメラが左に移動します。

camera.setDisplayOrientation(90);3.解決策 2 で使用します。不可能:オブジェクトはRedLasercameraライブラリ コード内にあり、アクセスできません。つまり、私の ScannerActivity.java には Camera オブジェクトがありません。そのため、使用されているものを参照する方法がわかりません。

4.使用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 不明:動作しているように見えますが、これによりアクティビティが再開され、データを保持する必要があります。私はこの記事に精通していますが、それを使用する良い方法を見つけていません。アクティビティからのすべてのデータを保存して、いくつかのArrayList<BarcodeResult>.

何か案は?

4

1 に答える 1