如何在Android上制作分辨率独立的相机预览?

时间:2010-12-21 00:23:05

标签: android layout camera resolution aspect-ratio

我正在制作一款使用手机相机的Android 1.6应用程序。

为了独立完成此应用分辨率,我需要设置兼容的宽高比,以便在SurfaceLayout上预览相机。在1.6 sdk中,无法获得支持的相机预览尺寸。可以使用4:3或3:2的宽高比,并且不会出现任何错误吗?

另一方面,我需要一种方法来制作一个xml布局,在每个分辨率中以此(未知)宽高比表示此Surfacelayout。我假设无法在运行时更改SurfaceLayout大小。我可以用“dp”单位吗?另一种方法是以编程方式进行此布局?

有一些应用程序,如Vignette或Android相机应用程序,有一些技巧可以制作类似的东西,如黑条(晕影)或固定按钮栏,但我不知道如何以任何类型的分辨率。< / p>

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:6)

  

在1.6 sdk中,无法获得支持相机预览的尺寸。

有。您可以在解析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);
        }
    }
}