Android 如何使用Expo框架测量React Native中的文本

Android 如何使用Expo框架测量React Native中的文本,android,react-native,expo,Android,React Native,Expo,我目前正在尝试使我的React本机应用程序基于Expo,而不依赖于本机依赖项。我想知道是否有一种方法可以测量文本(一直到像素),这样我就可以对布局做出一些明智的选择,而不必使用elides或奇怪的包装 基本上,我希望能够做到以下几点: //Pseudo Code class SomeScreen extends React.Component { //returns a height that fits the width without wrapping fitToWidth(text

我目前正在尝试使我的React本机应用程序基于Expo,而不依赖于本机依赖项。我想知道是否有一种方法可以测量文本(一直到像素),这样我就可以对布局做出一些明智的选择,而不必使用elides或奇怪的包装

基本上,我希望能够做到以下几点:

//Pseudo Code
class SomeScreen extends React.Component {
  //returns a height that fits the width without wrapping
  fitToWidth(text, width) { 
    //I don't have a framework for this in Expo
  }
  render() {
    <View>
      <MyText fontSize={fitToWidth('SomeString', 375)} value='Some String' />
    </View>
  }
}
//伪代码
类SomeScreen扩展React.Component{
//返回适合宽度的高度,而不进行换行
fitToWidth(文本,宽度){
//我在世博会上没有这样的框架
}
render(){
}
}
这将是非常好的运行在世博会由于易于测试,我希望有人有一个如何实现这一点的想法。有一些库我可以下载进去,但它需要退出世博会的构建过程,这意味着它不再是可移植的


我意识到还有很多事情要做才能渲染,但我已经可以计算出视图的宽度和高度,我希望我能找到一种方法来测量文本,根据屏幕大小选择字体,而不是试图依赖点

您需要将onLayout事件附加到视图中。一旦RN计算出来,就可以得到尺寸


是否可以使用此选项?我不熟悉expo。我认为op想要的是一款动态的
fontSize
,它可以完美地在任何设备上安装一条线(没有省略号),这很好。嗯,将onLayout附加到父视图中可以让您动态选择fontSize。让我们看看OP是怎么说的。@Bill你是对的,我正在尝试计算一种字体,它将正确地落在界限之内。我会深入研究这一点,看看是否有办法向后(计算在线布局的大小)高效地完成。@sfrantini谢谢你的回答,我会看看我是否能做到。@DanielB.Chapman好吧,如果你想知道你可以使用的设备的宽度。如果您想要当前视图的宽度,那么我想您必须使用onLayout。