gpt4 book ai didi

ios - React Native 响应式字体大小

转载 作者:IT王子 更新时间:2023-10-29 07:37:33 27 4
gpt4 key购买 nike

请问react native handle或者responsive font是怎么做的。例如在 iphone 4s 中我有 fontSize: 14,而在 iphone 6 中我有 fontSize: 18。

最佳答案

您可以使用 PixelRatio

例如:

var React = require('react-native');

var {StyleSheet, PixelRatio} = React;

var FONT_BACK_LABEL = 18;

if (PixelRatio.get() <= 2) {
FONT_BACK_LABEL = 14;
}

var styles = StyleSheet.create({
label: {
fontSize: FONT_BACK_LABEL
}
});

编辑:

另一个例子:

import { Dimensions, Platform, PixelRatio } from 'react-native';

const {
width: SCREEN_WIDTH,
height: SCREEN_HEIGHT,
} = Dimensions.get('window');

// based on iphone 5s's scale
const scale = SCREEN_WIDTH / 320;

export function normalize(size) {
const newSize = size * scale
if (Platform.OS === 'ios') {
return Math.round(PixelRatio.roundToNearestPixel(newSize))
} else {
return Math.round(PixelRatio.roundToNearestPixel(newSize)) - 2
}
}

用法:

fontSize: normalize(24)

您可以更进一步,允许在每个 <Text /> 上使用尺寸按预定义大小的组件。

例子:

const styles = {
mini: {
fontSize: normalize(12),
},
small: {
fontSize: normalize(15),
},
medium: {
fontSize: normalize(17),
},
large: {
fontSize: normalize(20),
},
xlarge: {
fontSize: normalize(24),
},
};

关于ios - React Native 响应式字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33628677/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com