使用react-native-camera(RNCamera),当预览为窗口的整个宽度且可见整个预览时,我正在努力将相机预览的高度设置为正确。此问题假定设备始终处于纵向模式。
我的代码如下:
import React, { Component } from "react";
import { Dimensions, Button, View } from "react-native";
import { RNCamera } from "react-native-camera";
export default class CameraScreen extends Component {
static navigationOptions = {
header: null
};
render() {
return (
<View>
<RNCamera
ref={ref => {
this.camera = ref;
}}
style={{
width: Dimensions.get("window").width,
height: 400 // <-- need to know what this value actually is
}}
type={RNCamera.Constants.Type.back}
/>
<Button
title="This button should appear directly below the camera preview"
onPress={() => false}
/>
</View>
);
}
});
我确定它与getSupportedRatiosAsync()
有关,但是这会返回多个比率。有人可以帮忙吗?
答案 0 :(得分:1)
首先,您必须选择要使用的比例。
4:3、1:1、16:9等
您的身高可以通过您的比例和宽度来计算。
比率=高度:宽度(对于本机相机)
因此,让我们尝试计算4:3比例和480px宽度的高度。
var height = 4*width/3; //for portrait mode 3:4
如果要充分发挥肖像的表现,则应使用“ flex:1”。
中获取更多详细信息