0

SurfaceView クラスを使用してカメラ プレビューを実現する Android 用のアプリをコーディングしています。これは、Nexus Galaxy と Desire HD でうまく機能します。

サーフェス ビュー レイアウトの幅/高さの属性は match_parent です

しかし、問題が発生しました: SONY Xperia Z では、画面解像度は 1080p ですが、プレビューの最大解像度は 1280*720 です。

したがって、私のカメラのプレビューは全画面の一部のみを占め、他のスペースは空白です。

プレビューを全画面表示にするにはどうすればよいですか?

4

1 に答える 1

1

ランドスケープ モードで次のように SurfaceView のサイズを変更します。

        // float camera_ratio = preview_size.width * preview_size / height; 
        ViewGroup.LayoutParams params = surfaceView.getLayoutParams();
        params.height = surfaceView.getHolder().getSurfaceFrame().height();
        params.width = Math.round(camera_ratio * params.height);
        surfaceView.setLayoutParams(params);

または、アプリが縦向きモードの場合は、いくつかのパラメーターを切り替えます。

編集: なんてこった、この半年前の質問を復活させてごめんなさい!

于 2013-11-04T16:08:08.627 に答える