当前位置: 首页 > 知识库问答 >
问题:

带有动作条的相机预览

鞠嘉誉
2023-03-14

我正在尝试实现一个带有动作条支持的activity,在人像模式下显示一个相机预览表面。我正在计算最佳预览尺寸(从zxing代码),但该代码没有考虑动作条尺寸(即高度),返回拉伸图像预览。以前有人遇到过类似的问题吗?有任何教程,关于打开相机预览考虑动作栏高度?

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

>

  • 我添加了样式:

    true@NULL true

    我没有找到任何与Android兼容的名称:WindowActionModeOverlay,也许不支持它?不“覆盖”它有什么坏处?

    >

  • 我不得不补充:

    Android:paddingtop=“?attr/ActionBarSize”

    对于FrameLayout,这样,我在AB和layout之间有正确的空间,垂直。我快到了,但通知栏正在消失(我只有AB),我想是因为全屏标签。我对目前的结果已经很满意了,但是如果大家有什么建议,他们是很欢迎的。=)

  • 共有1个答案

    松博耘
    2023-03-14

    您希望SurfaceView保持屏幕的完整大小。相机的预览分辨率基本上与屏幕的纵横比匹配,所以如果你不匹配,设备就会被迫将图像在一个维度上压扁一点,以适应视图。

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

    这大部分是通过在主题中设置actionbar的样式来完成的。下面是我修改默认全息主题的方法:

    <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>
    
     类似资料:
    • D/OpenGlRenderer:0x702565A400(RippleDrawable)上的endAllActiveAnimators,句柄0x701D23CC60 D/AndroidRuntime:正在关闭VM 致命异常:java.lang.IllegalStateException:指定的消息队列同步屏障令牌尚未发布或已被删除。在android.os.messagequee.removesy

    • 我一直在努力在Android上制作我的自定义相机活动,但当旋转相机时,表面视图的纵横比会变得混乱。 在我的oncreate for the activity中,我设置了framelayout,它保存了显示相机参数的曲面视图。 然后,在曲面视图中,我设置要显示的相机参数 您可以看到,当手机旋转时,乐高男会变得更高、更瘦: 如何确保相机视图的纵横比正确?

    • 问题内容: 我正在尝试自动预加载模型,但是这样做很困难。 这些是我正在使用的模型: 这是我正在执行的用于测试自动预加载功能的代码: 这两个打印的输出是: 当我可以手动很好地预加载模型时,为什么通过db.First(…)获取模型不会自动预加载? 问题答案: 首先,我建议阅读文档。 这里有点解释。看来您使用旧版本的可能性更大。更新的文档说明了如何使用此标记,默认情况下将其设置为true。因此,如果您想

    • 问题内容: 我有这个HTML结构: 我想在主体部分(#body)中包含三个部分而不会溢出。因此,我需要在中间部分使用滚动条。 我尝试了这个CSS: 和这个: 但是它们都不起作用。 我在JSFiddle上做了一个例子。 我可以仅使用CSS和HTML来做到这一点吗?我宁愿避免使用Javascript。 问题答案: Flexbox是一种现代替代方案,可让您无需固定高度或JavaScript即可执行此操作

    • 有没有人使用过这个打包的Xamrin版本?https://components.xamarin.com/view/emgucv-v3 我最近购买了这个许可证,并击中了与这里描述的完全相同的问题(旋转相机预览到肖像Android OpenCV相机)。一直在使用各种方法。 首先转屏方向从风景到肖像,但这只是以相同的旋转形式(90度)显示流。景观似乎是唯一一个我喜欢的作品。 我尝试使用相机对象旋转相机本

    • 我使用相机仅显示预览(不拍照或录制视频)。 该应用程序始终处于竖屏状态(横向模式被禁用)。相机预览始终旋转90度ccw,我无法更改它(无论是还是和。 预览总是这样旋转还是依赖于设备?如果在纵向模式下总是这样,我可以在之后旋转图像。 或者有没有办法正确设置摄像头?我读了很多关于这个的帖子,但没有一个答案对我有用(Galaxy s2,Android v2.3)