当前位置: 首页 > 知识库问答 >
问题:

如何调整字体大小以适应Android版原生反应中的视图?

吕昀
2023-03-14

如何在react native的视图中自动改变文本的字体大小?

我有不同长度的文本,其中一些不适合视图,所以减小了字体大小。我已经检查了文档,发现了这个,但它只适用于iOS,我需要它用于Android。

它与其他组件(如按钮和触摸不透明度)一起工作吗?

共有3个答案

松昱
2023-03-14

试试这种方法。考虑根据屏幕宽度设置字体大小,如下所示

width: Dimensions.get('window').width

因此,在您的风格中,尝试进行百分比计算,以使字体大小适合屏幕

style={
  text:{
     fontSize:0.05*width
  }
}

这将适用于所有屏幕(Android和IOS)

施锋
2023-03-14

结合这两个道具,适用于Android和iOS:

adjustsFontSizeToFit={true}
numberOfLines={1}

调整字体大小ToFit确保字体不超过容器,numberOfLines确保文本停留在一行中。

不调整的字体大小调整为“数字”将做一个省略号,在没有数字的情况下,调整字体大小将减小文本的大小以适合包含视图的高度,如果包含视图具有固定的高度或宽度。

张腾
2023-03-14

Jeffy Lee的代码稍微改进了一点

const AdjustLabel = ({
  fontSize, text, style, numberOfLines
}) => {
  const [currentFont, setCurrentFont] = useState(fontSize);

  return (
    <Text
      numberOfLines={ numberOfLines }
      adjustsFontSizeToFit
      style={ [style, { fontSize: currentFont }] }
      onTextLayout={ (e) => {
        const { lines } = e.nativeEvent;
        if (lines.length > numberOfLines) {
          setCurrentFont(currentFont - 1);
        }
      } }
    >
      { text }
    </Text>
  );
};
 类似资料:
  • 我一直在使用vanilla JavaScript创建一个音频播放器来操作HTML元素。 播放机的大小是动态的,所有元素都按比例调整以适应父div。 我已经应用了我能找到的所有方法来缩放字体,以适应父容器和组合解决方案,以一种看起来功能强大的方式,但我不能使字体强大的图标缩放以同样的方式。 图标的包含方式如下: 我的解决方案通过实现,其中函数定义如下: 我在CSS中设置、或元素的font-size,

  • 我正在生成一个文档,如下面的代码所示,当然表的内容除外,它是变化的。我需要做的是确保这个表格的大小永远不会超过一页,而不管单元格中的内容数量如何。有办法做到吗?

  • 下面是“DisplayImage”自定义面板相关部分的代码:

  • 我正在尝试使图片适合JLabel。我希望将图片尺寸缩小到更适合我的Swing JPanel的尺寸。 我尝试使用setPreferredSize,但它不起作用。 我在想有没有一个简单的方法来做这件事?我应该为此缩放图像吗?

  • 我对JPanel和JFrame还是个新手,可能没有按照我应该的方式使用它们。我正在尝试创建Pong游戏,在创建JFrame并将JPanel添加到它之后,我可以调整JPanel的大小,但我不知道如何调整JFrame的大小以适应它。Game类扩展了JPanel。 主: 编辑: 将setSize更改为setPreferredSize,然后为JFrame调用pack()就可以解决所有问题。

  • 我有定义了left、right和top约束的NSTextField(没有设置bottom约束)。我需要NSTextField增长,如果内容不能容纳在其中,并减少大小,如果有未使用的空间。 现在我有了:如果NSTextField有多行文本或太多内容,它会以奇怪的行为自动扩展,而且NSTextField在窗口调整大小时不会减小自己的大小。 在Swift上,我还没有找到任何简单的解决方案来解决这个问题(