我正在尝试实现一个动作条支持的活动,它在纵向模式下显示一个摄像机预览面。我正在计算最佳预览大小(从zxing ),但该代码没有考虑动作条的尺寸(即高度),返回拉伸的图像预览。以前有人遇到过类似的问题吗?任何教程,关于打开相机预览考虑动作条的高度?
编辑:我正在获取API级别的>= 8。
我没有为android找到任何兼容的名称:windowActionModeOverlay,也许对此不支持?不“推翻”它有什么坏处?
对于FrameLayout,这种方式,我有正确的空间之间的AB和布局,垂直。我快到了,但是通知栏正在消失(我只有AB),我想是因为全屏标签。我已经对目前的结果感到满意了,但是如果外面的人有建议的话,他们是受欢迎的。=)
发布于 2013-11-09 14:20:41
您希望SurfaceView保持屏幕的完整大小。相机的预览分辨率大多与屏幕的纵横比相匹配,因此如果你不这样做,设备就会被迫在一维内压缩图像,以使其与视图相匹配。
这意味着您不希望ActionBar取代主SurfaceView,而希望它位于其之上。我也让它透明。以下是在行动中的效果(https://play.google.com/store/apps/details?id=com.srowen.bs.android):

其中大部分是通过在主题中设置ActionBar样式来完成的。以下是我为此修改默认Holo主题所做的工作:
<style name="CaptureTheme" parent="android:Theme.Holo">
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="android:windowActionModeOverlay">true</item>
</style>https://stackoverflow.com/questions/19875743
复制相似问题