我如何在Expo BarCodeScanner中删除多余的空白

时间:2019-07-17 08:37:06

标签: react-native expo

iOS运行正常,BarCodeScanner可以全屏显示,但是当我使用android时,会有多余的空白。

<BarCodeScanner
  onBarCodeScanned={scanned ? undefined : this._handleBarCodeScanned}
  style={[StyleSheet.absoluteFill, { flex: 1 }]}
/>

我还检查了其他样式,例如但没有运气

style={{
  height: Dimensions.get('window').height,
  width: Dimensions.get('window').width,
}}

White space example

2 个答案:

答案 0 :(得分:2)

这似乎是最新版本的expo-barcode-scanner中的一个问题。一种可能的解决方法是将BarCodeScanner的尺寸明确设置为屏幕的尺寸:

import { Dimensions } from 'react-native';

<BarCodeScanner style={{
    width: Dimensions.get('screen').width,
    height: Dimensions.get('screen').height,
}} />           

请注意,像您尝试的那样将其设置为窗口的尺寸是无效的。

答案 1 :(得分:0)

FrederikVds 的回答对我不起作用。所以我也更换了具有条形码扫描仪功能的世博相机。你可以这样做:

import { Camera } from 'expo-camera'

<Camera
  onBarCodeScanned={scanned ? undefined : this._handleBarCodeScanned}
  style={StyleSheet.absoluteFillObject}
/>

您也可以选择使用 ratio='16:9'

如果你需要在 react-native cli 中使用 expo 库,你应该遵循这些setups

这里是问题讨论:https://github.com/expo/expo/issues/5212