4

我正在制作一个使用手机摄像头的 android 1.6 应用程序。

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

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

有一些应用程序,如 Vignette 或 android 相机应用程序,有一些技巧来制作类似的东西,比如黑条 (vignette) 或固定按钮栏,但我不知道如何在任何分辨率下做到这一点。

有任何想法吗?

谢谢!

4

1 回答 1

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);
        }
    }
}
于 2011-01-12T14:43:20.620 回答