2013-08-29 45 views

回答

1

现在,预览的纵横比需要与您要拍摄的图片的纵横比相匹配,否则您的图片会被拉伸或压扁。

如果我找到了解决方法,那么也许您将能够获得边对边预览。现在,预览会自动更改其宽高比。

+0

所以现在没有办法实现边缘到边缘的预览?那么它如何在本机相机应用程序中工作? –

+0

@Geralt_Encore:欢迎您了解本机相机应用程序的源代码并找出答案。 – CommonsWare

+0

感谢您的快速回复,并感谢您的精彩图书 –

0

@Geralt_Encore

如果你仍然希望它是充满屏幕,那么你应该在onLayout一些变化()CameraView的方法

评论下面的代码

if (width * previewHeight > height * previewWidth) { 
     final int scaledChildWidth= 
      previewWidth * height/previewHeight; 
     child.layout((width - scaledChildWidth)/2, 0, 
        (width + scaledChildWidth)/2, height); 
     } 
     else { 
     final int scaledChildHeight= 
      previewHeight * width/previewWidth; 
     child.layout(0, (height - scaledChildHeight)/2, width, 
        (height + scaledChildHeight)/2); 
     } 

,并添加此而不是上面的代码

child.layout(l,t,r,b); 

你就完成了。现在你会得到全屏预览 它会工作,但我还没有测试它的方向变化,因为我希望我的相机活动只在肖像模式。

希望这会帮助你

+0

当添加上面的代码时,我的图像在肖像模式下拉伸了一点 –

+0

此更改后无预览 –