全屏预览相机2基本示例项目



我正在尝试修改Google的camera2基本示例代码。我删除了包含"图片"和"信息"按钮的<FrameLayout/>,试图使<TextureView/>全屏显示。但是,预览不会填满整个屏幕,其下方仍有一个黑条。我相信这与它附带的AutoFitTextureView有关,但由于他们没有提供有关其工作原理的任何文档,因此无法对其进行修改。

我之前在我的Galaxy Note 5上注意到了这个完全相同的问题,我相信这与他们设置纵横比的方式有关 - 这个API显然存在一些限制(或者只是记录不佳)。我通过在AutoFitTextureView上设置纵横比来修复它。

具体来说,在这个例子中,在方法setCameraOutput(int width, int height)中,只需删除这些代码行(示例中为574 - 580行):

if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
    mTextureView.setAspectRatio(mPreviewSize.getWidth(),mPreviewSize.getHeight());
} else {
    mTextureView.setAspectRatio(mPreviewSize.getHeight(),mPreviewSize.getWidth());
}

我相信在示例中,他们试图限制捕获区域,这可能会导致您看到的黑条(可能是因为您正在构建比开发人员使用的设备更大的设备)。

最新更新