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

标签 android layout camera resolution aspect-ratio

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

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

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

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

有什么想法吗?

谢谢!

最佳答案

In 1.6 sdk there is no way to get supported sizes for the camera preview.

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

关于android - 如何在 Android 上制作分辨率独立的相机预览?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4495258/

相关文章:

Android 在应用程序的任何 Activity 中显示来自后台线程的对话框

java - Android:打开fileBrowser获取文件路径

android: 帮助创建表格布局

Android:从相机返回后创建新 Activity ,而不是返回到上一个 Activity

c# - 如何将实例化的对象传递给相机

android - Android:警报管理器和 Intent 过滤器不起作用

android - 将 selectableItemBackground 添​​加到 CardView

reactjs - UIScrollView Canvas 等效吗?

go - Fyne布局中的填充

opencv - 与相机 z 轴正交的线的相机投影