我正在使用Android Camera API构建相机应用,我需要设置相机的预览尺寸。我已经读过,我应该在我的相机对象的Parameter对象上调用getSupportedPreviewSizes()
来获取每个支持的大小的列表。问题是这个列表包含三种尺寸:640x480,352x288和320x240。
我正在使用Android Studio和内置模拟器。我试过仿效Nexus 5,6和10,他们都给了我这三种尺寸。所以我怀疑这是模拟器的限制。如果是这样,无论如何都可以绕过它吗?或者这是因为其他事情而发生的?
答案 0 :(得分:2)
预览尺寸很少(如果有的话)与渲染预览的曲面大小完全匹配。 background-color: #535353 !important;
和SurfaceView
会缩放预览以填充这些观看的可用空间。
因此,您的工作是在保持预览的纵横比的同时调整表面大小,同时缩放不会拉伸或挤压图像。 Grafika's AspectFrameLayout
,或可能是my AspectLockedFrameLayout
,是实现这一目标的方法,如子类TextureView
或SurfaceView
并覆盖TextureView
。