2010-12-21 7 views
4

휴대 전화의 카메라를 사용하는 Android 1.6 앱을 만들고 있습니다.어떻게 안드로이드에서 해상도 독립적 인 카메라 미리보기를 만들 수 있습니까?

이 응용 프로그램 해상도를 독립적으로 수행하려면 SurfaceLayout에서 카메라 미리보기에 호환되는 종횡비를 설정해야합니다. 1.6 sdk에는 카메라 미리보기에서 지원되는 크기를 얻을 수있는 방법이 없습니다. 4 : 3 또는 3 : 2 종횡비를 사용할 수 있으며 오류가 발생하지 않습니까?

반면에, 모든 해상도에서이 (알 수없는) 종횡비로이 Surfacelayout을 나타내는 xml 레이아웃을 만드는 방법이 필요합니다. 런타임에 SurfaceLayout 크기를 변경할 수 없다고 가정합니다. "dp"단위로 할 수 있습니까? 다른 방법은이 레이아웃을 프로그래밍 방식으로 만드는 것입니다.

검은 색 막대 (비 네트) 또는 고정 된 단추 막대와 같은 것을 만들기위한 비법이있는 비 네트 또는 안드로이드 카메라 응용 프로그램과 같은 일부 응용 프로그램이 있지만 어떤 종류의 해상도에서도이를 수행하는 방법을 모르겠습니다.

아이디어가 있으십니까?

감사합니다.

답변

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

관련 문제