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,
}}
答案 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