gpt4 book ai didi

android - 带有操作栏的相机预览

转载 作者:行者123 更新时间:2023-11-30 03:17:04 25 4
gpt4 key购买 nike

我正在尝试实现一个支持操作栏的 Activity ,该 Activity 在纵向 模式下显示相机预览界面。我正在计算最佳预览大小(来自 zxing 代码),但该代码未考虑操作栏尺寸(即高度),返回拉伸(stretch)图像预览。以前有人遇到过类似的问题吗?有没有关于根据操作栏高度打开相机预览的教程?

编辑:我的目标是 API 级别 >= 8。

  1. 我添加了样式:

    真的 @无效的 真的

我没有找到 android:windowActionModeOverlay 的任何兼容名称,也许没有支持吗?不“覆盖”它的缺点是什么?

  1. 我不得不补充:

    android:paddingTop="?attr/actionBarSize"

对于 FrameLayout,这样,我在 AB 和布局之间有正确的垂直空间。我快到了,但是通知栏正在消失(我只有 AB),我想是因为全屏标签。我对目前的结果已经很满意了,但如果有人出局有建议,不客气。 =)

最佳答案

您希望 SurfaceView 保持整个屏幕的大小。相机的预览分辨率大多与屏幕的宽高比相匹配,因此如果您不这样做,设备将被迫在一个维度上稍微压缩图像以使其适合 View 。

这意味着您不希望 ActionBar 取代主要的 SurfaceView,而是位于它之上。我也让它透明。这是实际效果 ( https://play.google.com/store/apps/details?id=com.srowen.bs.android ):

enter image description here

其中大部分是通过在您的主题中设置 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>

关于android - 带有操作栏的相机预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19875743/

25 4 0