我正在使用Camera2 API来设置图像捕获片段 . 我只想在纵向模式下使用相机 . 所以我在片段的父活动的清单中设置了这一行:
android:screenOrientation="portrait"
这会将相机预览锁定为纵向 . 但是,图像方面是错误的 . 捕获图像时,方面没有问题,图像看起来应该如此,但仍然不是全屏 . 我怀疑相机输出被拉伸以在我的预览中填满屏幕 . 如何使预览和捕获的图像都填满整个屏幕,并像Snapchat一样保持其宽高比呢?
我一直使用Google sample作为我的参考,并在XML布局文件中将AutoFitTextureView更改为match_parent .
这是它在普通肖像中的样子
这就是我旋转手机时的样子并且仍处于纵向模式
2 回答
AutoFillTextureView尝试保持宽高比正确,但如果您正在更改其布局参数,则可能无法 .
如果你不把它变成'match_parent',那么事情是否正常?
通常,Android UI元素将使用输入数据填充自己,因此您需要将View的大小设置为正确的宽高比以避免拉伸 .
对于那些像我一样一直面临这个问题的人,如果你在2017年6月之前一直在使用谷歌样本,那么在你的AutoFitTextureView中调整一行应该修复预览's aspect ratio. It'就像将"<"更改为">"一样简单,你可以看到here .