javascript - React Native - 如何独立设置 View 尺寸屏幕尺寸?

标签 javascript react-native

我希望使 View 在不同尺寸(适用于 Android 4+)和 dpi(240+)以及 iPhone 4+ 和 iPad 上看起来相同。当我定义尺寸时,例如。 270x65,在 640 dpi 的屏幕上看起来比在 320 dpi 的屏幕上(2560x1600 实际屏幕尺寸)相同尺寸的尺寸大一倍。

这是一个好的解决方案吗?

  containerButton: {
    width: calcDimension(270),
    height: calcDimension(65)
  }

const calcDimension = size =>
  size / (screenScale() > 2 ? (screenScale() / 2) : 1);

const screenScale = () =>
  (Dimensions.get('window').scale);

或者还有更好的解决方案吗?谢谢。

最佳答案

您可以在 React Native 中使用尺寸来自动计算设备高度和宽度。

首次导入尺寸

import { Dimensions, Platform, StyleSheet } from 'react-native

获取设备高度和宽度

var deviceHeight = Dimensions.get('window').height;
var deviceWidth = Dimensions.get('window').width;

现在您可以在样式中使用此全局变量。例如:

const styles = StylSheet.create({
     mainContainer: {
          height: deviceHeight/2;
          width: deviceWidth/2;
     }
});

您还可以动态计算状态栏高度和宽度标准方式:

var STATUS_BAR_HEIGHT = Platform.OS === 'ios' ? 20 : 25;
var HEADER_HEIGHT = Platform.OS === 'ios' ? 44 + STATUS_BAR_HEIGHT : 44 + STATUS_BAR_HEIGHT;

关于javascript - React Native - 如何独立设置 View 尺寸屏幕尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42174234/

相关文章:

javascript - 第二次单击后删除格式

javascript - 如果站点上存在多个 slider ,则显示 Jquery UI slider 的值

javascript - 使用 javascript 读取 HTML 文件以生成数据

javascript - react : Using a redux export connect from other components

react-native - React Native - "type"在警报组件方法上是什么意思?

javascript - Jest 急速 map : Haste module naming collision

java - 如何使 localhost Rest api 与 React-Native 一起工作?

javascript - nodejs - 使用 node-walk 过滤文件扩展名

javascript - 以编程方式在父窗口打开的窗口中打开 Javascript 书签

javascript - 组合堆栈、抽屉和选项卡导航器