2010-12-21 7 views
4

私は電話のカメラを使用するアンドロイド1.6アプリを作っています。アンドロイドで解像度を独立させたカメラプレビューを作成するには?

このアプリの解像度を独立させるために、SurfaceLayoutでカメラをプレビューするための互換アスペクト比を設定する必要があります。 1.6 sdkでは、カメラプレビューのサポートされているサイズを取得する方法はありません。 4:3または3:2のアスペクト比を使用することは可能で、エラーは発生しません。

一方、すべての解像度でこの(未知の)アスペクト比でこのSurfacelayoutを表すxmlレイアウトを作成する方法が必要です。私は実行時にSurfaceLayoutのサイズを変更することはできないと考えています。私は "dp"ユニットでそれをすることはできますか?もう1つの方法は、このレイアウトをプログラムで作成することです。

ビネットやアンドロイドのカメラアプリケーションのように、黒い棒(ビネット)や固定ボタンの棒のようなものをいくつか作成するアプリがありますが、どのような解像度で行うのかわかりません。

アイデア?

ありがとうございます!

答えて

6

1.6sdkでは、カメラプレビューのサポートされているサイズを取得する方法はありません。

あります。 preview-size-valuesカメラパラメータを解析する際にそれらを取得できます。

String supportedSizesString = parameters.get("preview-size-values"); 
List<Size> supportedSizes = new ArrayList<Size>(); 
if (supportedSizesString != null && supportedSizesString.length() > 0) { 
    StringSplitter ss = new TextUtils.SimpleStringSplitter(','); 
    ss.setString(supportedSizesString); 
    for (String supportedSize : ss) { 
     String[] dimentions = supportedSize.split("x"); 
     if (dimentions.length > 1) { 
      Size size = mCamera.new Size(Integer.parseInt(dimentions[0]), 
      Integer.parseInt(dimentions[1])); 
      supportedSizes.add(size); 
     } 
    } 
} 
+0

ありがとうございました!できます :) – histeria

関連する問題