问题:
我用 React Native 创建了一个小的 iPhone 应用程序v 0.61
我的内容在左右两边都遵循一条大线,25px
在较大的 iPhone(iPhone X+)上看起来非常好,但在 Iphone SE 上看起来不太好. 余量太大。如何找出每个设备的完美边距?
主要是我正在考虑将最左边的内容与状态栏的“当前时间”对齐,最右边的内容与左边的边距相同
像这样的东西:
问题:
我用 React Native 创建了一个小的 iPhone 应用程序v 0.61
我的内容在左右两边都遵循一条大线,25px
在较大的 iPhone(iPhone X+)上看起来非常好,但在 Iphone SE 上看起来不太好. 余量太大。如何找出每个设备的完美边距?
主要是我正在考虑将最左边的内容与状态栏的“当前时间”对齐,最右边的内容与左边的边距相同
像这样的东西:
您可以使用尺寸来计算设备的宽度和高度,然后设置边距或填充
import { Dimensions } from 'react-native'
var deviceWidth = Dimensions.get('window').width
var deviceHeight: Dimensions.get('window').height
查看代码
View style={styles.viewStyle}>
</View>
const styles=StyleSheet.create({
ViewStyle:{
marginTop: deviceHeight * 0.05, // 5 percentage of the screen height
marginBottom: deviceHeight * 0.05 ,
marginLeft: deviceWidth * 0.05, , // 5 percentage of the screen width
marginRight: deviceWidth * 0.05,
},
})
参考链接
也看看这个链接PixelRatio
您可以使用SafeAreaView 组件轻松实现此目的,其目的是在 iOS 设备(版本 11 或更高版本)的安全区域边界内呈现内容。
SafeAreaView 呈现嵌套内容并自动应用填充以反映视图中未被导航栏、选项卡栏、工具栏和其他祖先视图覆盖的部分。此外,最重要的是,Safe Area 的填充反映了屏幕的物理限制,例如圆角或摄像头凹槽(即 iPhone X 上的传感器外壳区域)。
我一直在使用这个小型实用程序库react-native-size-matters
这个库最好的一点是您可以根据设备的大小可以增加多少来改变比例。唯一有点问题的是设置从中绘制测量值的基本设备。我克隆了 repo 并根据我的需要进行了更改。看看这个!