reactjs - react native如何让布局适应屏幕大小?
问题描述
我想知道如何才能将布局的对象调整为手机或平板电脑屏幕的不同尺寸。
例如:
如果我为小屏幕(Nexus S)组装设计,它在那个屏幕上看起来不错,但如果我在像素 2 XL 中进行模拟,你会看到一切都很小。
如何调整元素或使用什么属性来适应所有屏幕尺寸?
解决方案
简单的答案是添加一个根据屏幕大小调整尺寸(或字体大小)的函数。但根据我的个人经验,我不建议使用它,因为您最终可能会在大型手机和平板电脑上使用巨大的图片或文本。我目前正在使用react-native-extended-stylesheet它提供了很好的支持media-queries, variables, dynamic themes, relative units, percents, math operations, scaling and other styling stuff
您的代码将如下所示:
const styles = EStyleSheet.create({
column: {
width: '80%' // 80% of screen width
},
text: {
color: '$textColor', // global variable $textColor
fontSize: '1.5rem' // relative REM unit
},
'@media (min-width: 350) and (max-width: 500)': { // media queries
text: {
fontSize: '2rem',
}
}
});
推荐阅读
- javascript - 如何以纯文本形式查看 javascript 函数的输出?
- r - 从多边形中删除与 R 中国际日期变更线相交的线(例如俄罗斯在 rnaturalearth)
- python - 从模拟的高斯数据集中计算平均值/中值/标准偏差的所有值?
- string - 两个不同大小的对象和 $null
- python - 如何在同一个 docker 映像上使用不同类型的 gpus(例如 1080Ti 与 2080Ti)而不需要重新运行“python setup.py develop”?
- apache-kafka - Kafka Streams 中的暂停分区(处理器 API)
- powershell - 如何在 Powershell 中创建具有自定义列数的 HTML 表格
- javascript - mongoose Schema max 属性无效
- json - PySpark - 在 DataFrame 中引用名为“name”的列
- linux - 与 netcat 的持续通信