我正在编写一个Android应用程序,它使用SurfaceView类实现相机预览,适用于Nexus Galaxy和Desire HD
表面视图布局width / height属性为match_parent
但我遇到了一个问题: 在SONY Xperia Z上,屏幕分辨率为1080p,但最大预览分辨率为1280 * 720
因此,我的相机预览仅占全屏的一部分,而其他空间则为空白。
如何全屏预览?
答案 0 :(得分:1)
在横向模式下调整SurfaceView的大小:
// float camera_ratio = preview_size.width * preview_size / height;
ViewGroup.LayoutParams params = surfaceView.getLayoutParams();
params.height = surfaceView.getHolder().getSurfaceFrame().height();
params.width = Math.round(camera_ratio * params.height);
surfaceView.setLayoutParams(params);
如果您的应用处于纵向模式,请切换一些参数。
编辑:圣洁的莫莉,抱歉复活这半年的问题!