User interface 基于移动高度反应本机输入高度

User interface 基于移动高度反应本机输入高度,user-interface,react-native,platform,User Interface,React Native,Platform,在我的react原生应用程序中,当我在4英寸屏幕上运行它时,InputText比5英寸屏幕大得多。这背后的原因是什么?我怎样才能避免呢?是的,安卓系统的屏幕尺寸千差万别。因此,我们有时必须获得手机尺寸,并在需要时指定计算出的高度/宽度 在ReactNative中,我们可以通过以下方式获得设备窗口大小: var {height, width} = Dimensions.get('window'); 此外,如果您使用flex属性,还可以使用它来调整UI元素的高度。是的,Android中的屏幕大小多

在我的react原生应用程序中,当我在4英寸屏幕上运行它时,InputText比5英寸屏幕大得多。这背后的原因是什么?我怎样才能避免呢?

是的,安卓系统的屏幕尺寸千差万别。因此,我们有时必须获得手机尺寸,并在需要时指定计算出的高度/宽度

在ReactNative中,我们可以通过以下方式获得设备窗口大小:

var {height, width} = Dimensions.get('window');

此外,如果您使用flex属性,还可以使用它来调整UI元素的高度。

是的,Android中的屏幕大小多种多样。因此,我们有时必须获得手机尺寸,并在需要时指定计算出的高度/宽度

在ReactNative中,我们可以通过以下方式获得设备窗口大小:

var {height, width} = Dimensions.get('window');
此外,如果您使用flex属性,您还可以使用它来调整UI元素的高度。

因为您的应用程序在默认情况下总是可访问的,并且UI会根据不断变化的屏幕大小进行自我调整,因此,字体大小会发生变化

您可以查看文本的属性并决定要保留的布尔值

如前所述,默认情况下为true

要禁用字体缩放,可以将全局设置设置为

在您的最高级别容器中。

由于您的应用程序在默认情况下总是可访问的,并且UI会根据不断变化的屏幕大小进行自我调整,因此字体大小会发生变化

您可以查看文本的属性并决定要保留的布尔值

如前所述,默认情况下为true

要禁用字体缩放,可以将全局设置设置为


在最高级别的容器中。

如果您希望更精确的级别实现

我认为您应该实现一些扩展机制来提供响应性组件

import { Dimensions, PixelRatio, Platform } from 'react-native'
const { width, height } = Dimensions.get('window')

// Sizes based on Google Nexus 5 on genymotion
const guidelineBaseWidth = 360
const guidelineBaseHeight = 592

const scale = size => width / guidelineBaseWidth * size
const verticalScale = size => height / guidelineBaseHeight * size
const moderateScale = (size, factor = 0.5) => {
  if (Platform.OS === 'ios') {
    factor = PixelRatio.get()
  }

  return size + (scale(size) - size) * factor
}
现在可以调用该函数了

中等规模

无论何时需要水平缩放

您可以调用该函数

垂直刻度

只要你想垂直缩放

例如:

通过这种方式,您可以确保react应用程序的响应能力


快乐编码

如果您正在寻求更精确的级别实施

我认为您应该实现一些扩展机制来提供响应性组件

import { Dimensions, PixelRatio, Platform } from 'react-native'
const { width, height } = Dimensions.get('window')

// Sizes based on Google Nexus 5 on genymotion
const guidelineBaseWidth = 360
const guidelineBaseHeight = 592

const scale = size => width / guidelineBaseWidth * size
const verticalScale = size => height / guidelineBaseHeight * size
const moderateScale = (size, factor = 0.5) => {
  if (Platform.OS === 'ios') {
    factor = PixelRatio.get()
  }

  return size + (scale(size) - size) * factor
}
现在可以调用该函数了

中等规模

无论何时需要水平缩放

您可以调用该函数

垂直刻度

只要你想垂直缩放

例如:

通过这种方式,您可以确保react应用程序的响应能力


快乐编码

你用的是高度还是flex?你用哪个软件包来添加文本?rajesh,我在这里用flex@Pritish,这是react Native的默认输入文本您使用高度还是flex?您使用哪个软件包添加文本?rajesh,我在这里使用flex@Pritish,这是react NativeHanks Muhammad的默认输入文本,用于回答如果这有帮助,请将此答案标记为正确,以便其他人了解解决方法。感谢Muhammad的回答如果这有帮助,请将此答案标记为正确,以便其他人了解解决方法。感谢Pritish的回答感谢Pritish的回答感谢Manzoor的回答超级有用的功能!非常感谢。感谢Manzoor提供的replySuper实用功能!非常感谢。
{
...
width: moderateScale(200)
height : verticalScale(100)
}