Xamarin.Android相机在特定设备上预览迟钝

时间:2018-02-12 14:25:11

标签: android xamarin camera

我们有一个使用Manatee Works条形码扫描仪的应用程序。这个扫描仪非常好,除了......

在特定设备 - CAT S41上,扫描仪预览很暗淡。

在其他设备上,以及在同一设备上运行的其他应用程序,这很好。

我已将其缩小到相机预览,通过实现此处演示的相机预览:

https://github.com/xamarin/xamarin-forms-samples/tree/master/CustomRenderers/View/Droid

这表现出相同的行为:

  1. 首次显示预览时,应用程序屏幕变暗,出现预览窗口,应用程序屏幕恢复到原始亮度。 然而,预览很暗淡。
  2. 如果随后显示预览,则屏幕不会变暗,但预览会变暗。
  3. 我们有一个来自Manatee的演示应用程序,表现出这种行为。

    该设备运行的是Android 7.0。运行Android 7.0的其他设备不会表现出这种行为。

    版本: Xamarin.Forms 2.5.0.1222203 Xamarin.Android.Support。*版本25.4.0.2

    以上内容与演示应用程序相同。

    有什么想法吗?

1 个答案:

答案 0 :(得分:0)

找到解决方案。

我们使用以下属性将样式应用于MainActivity:

<item name="android:backgroundDimEnabled">true</item>

这通常会导致/允许应用程序屏幕在显示警报时变暗。但是,它还具有使扫描仪使用的SurfaceView也变暗的副作用。与此处报告的此错误/行为类似:

https://github.com/google/ExoPlayer/issues/3733

解决方案是将此设置为false。

一个副作用是当显示警报时主应用程序窗口不会变暗。但是,这仍然是默认的Android行为(即默认情况下backgroundDimEnabled为false)。