无法调整 RNCamera react-native-camera 的大小
Cannot resize RNCamera react-native-camera
我在我的 React Native 项目中使用 React Native 相机 <RNCamera></RNCamera>
进行 QR 扫描。我遇到了无法调整相机视口高度的问题。
我尝试将柱子向下弯曲成 3 个,每个 2 个,然后将它放在中间,它会自行扩展以达到一定的高度尺寸。
我也试过在样式中设置高度,但它仍然会扩展到一定大小。
这是我做的。
<View style={{ flex: 2, }}></View>
<View style={{ marginHorizontal: 16,flex:2 }}>
<RNCamera
ref={(ref) => {
this.camera = ref;
}}
style={{ height: newWidth }}
captureAudio={false}
type={RNCamera.Constants.Type.back}
flashMode={RNCamera.Constants.FlashMode.on}
androidCameraPermissionOptions={{
title: 'Permission to use camera',
message: 'We need your permission to use your camera',
buttonPositive: 'Ok',
buttonNegative: 'Cancel',
}}
onBarCodeRead={(barcodeText) => { this._onBarcodeRead(barcodeText); }}
>
<View style={{ flex: 2.5 }}>
</View>
</RNCamera>
</View>
<View style={{ flex: 2, }}></View>
每个 flex 都设置了 backgroundcolor 属性,可以看出 flex 工作正常。但是RNCamera
的范围总是超出设定的范围。
有人可以指导我如何设置 RNCamera Viewport 的样式,还是无法更改的固定高度视图?
我们有类似的场景,相机视图是屏幕的 75%,但从预览中单击的图像是全高图像。我们对原生相机视图进行了更改以解决此问题。 Link 更改如下。请检查它是否适用于您的场景。
<RNCamera
ref={ref => {
this.camera = ref;
}}
captureAudio={false}
style={Platform.OS === "ios" ? createPostStyle.previewIOS : createPostStyle.previewAndroid}
type={RNCamera.Constants.Type.back}
flashMode={this.state.flash}
ratio={'4:4'}
androidCameraPermissionOptions={{
title: string.alert.CameraPermissionTitle,
message: string.alert.CameraPermissionNote,
buttonPositive: string.alert.buttonOk,
buttonNegative: string.alert.buttonDontAllow,
}}
/>
const createPostStyle = StyleSheet.create({
container: {
flex: 1,
backgroundColor: colors.profileTabSelectedColor
},
previewIOS: {
flexDirection: 'column',
alignItems: 'center',
width: Dimensions.get('window').width,
flex:1,
backgroundColor: colors.profileTabSelectedColor
},
previewAndroid: {
flex:1 ,
width:Dimensions.get('window').width,
backgroundColor: colors.profileTabSelectedColor
},
})
我在我的 React Native 项目中使用 React Native 相机 <RNCamera></RNCamera>
进行 QR 扫描。我遇到了无法调整相机视口高度的问题。
我尝试将柱子向下弯曲成 3 个,每个 2 个,然后将它放在中间,它会自行扩展以达到一定的高度尺寸。
我也试过在样式中设置高度,但它仍然会扩展到一定大小。
这是我做的。
<View style={{ flex: 2, }}></View>
<View style={{ marginHorizontal: 16,flex:2 }}>
<RNCamera
ref={(ref) => {
this.camera = ref;
}}
style={{ height: newWidth }}
captureAudio={false}
type={RNCamera.Constants.Type.back}
flashMode={RNCamera.Constants.FlashMode.on}
androidCameraPermissionOptions={{
title: 'Permission to use camera',
message: 'We need your permission to use your camera',
buttonPositive: 'Ok',
buttonNegative: 'Cancel',
}}
onBarCodeRead={(barcodeText) => { this._onBarcodeRead(barcodeText); }}
>
<View style={{ flex: 2.5 }}>
</View>
</RNCamera>
</View>
<View style={{ flex: 2, }}></View>
每个 flex 都设置了 backgroundcolor 属性,可以看出 flex 工作正常。但是RNCamera
的范围总是超出设定的范围。
有人可以指导我如何设置 RNCamera Viewport 的样式,还是无法更改的固定高度视图?
我们有类似的场景,相机视图是屏幕的 75%,但从预览中单击的图像是全高图像。我们对原生相机视图进行了更改以解决此问题。 Link 更改如下。请检查它是否适用于您的场景。
<RNCamera
ref={ref => {
this.camera = ref;
}}
captureAudio={false}
style={Platform.OS === "ios" ? createPostStyle.previewIOS : createPostStyle.previewAndroid}
type={RNCamera.Constants.Type.back}
flashMode={this.state.flash}
ratio={'4:4'}
androidCameraPermissionOptions={{
title: string.alert.CameraPermissionTitle,
message: string.alert.CameraPermissionNote,
buttonPositive: string.alert.buttonOk,
buttonNegative: string.alert.buttonDontAllow,
}}
/>
const createPostStyle = StyleSheet.create({
container: {
flex: 1,
backgroundColor: colors.profileTabSelectedColor
},
previewIOS: {
flexDirection: 'column',
alignItems: 'center',
width: Dimensions.get('window').width,
flex:1,
backgroundColor: colors.profileTabSelectedColor
},
previewAndroid: {
flex:1 ,
width:Dimensions.get('window').width,
backgroundColor: colors.profileTabSelectedColor
},
})