You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo 51中TextInput使用自定义字体出现多余间距问题

解决Expo 51中TextInput使用Poppins字体的下方多余间距问题

试试这几个实用的调整方法,亲测对这类字体适配问题有效:

  • 强制关闭字体默认内边距
    在TextInput的style里添加includeFontPadding: false,这个属性能去掉字体本身携带的额外留白,很多自定义字体的间距问题都是这个原因导致的。

  • 手动设置行高匹配字体
    Poppins字体的行高和系统默认字体不一致,直接把lineHeight设为和fontSize一致(或者微调1-2像素),比如:

    style={{
      // ...其他样式
      fontSize: 30,
      lineHeight: 30,
    }}
    
  • 清除TextInput默认垂直内边距
    TextInput默认有垂直方向的padding,直接设置paddingVertical: 0或者单独把paddingBottom: 0,避免默认内边距和字体自带间距叠加。

把这些方法结合起来的完整代码示例:

<RNTextInput
    style={{
        width: 200,
        fontFamily: 'Poppins_400Regular',
        fontSize: 30,
        lineHeight: 30,
        includeFontPadding: false,
        paddingVertical: 0,
        backgroundColor: "rgb(245 245 245)"
    }}
    textAlignVertical={'bottom'}
    multiline={false}
/>

原理是:自定义字体的基线、行高参数和系统默认字体不匹配,TextInput的渲染逻辑会保留一些适配默认字体的间距,通过上述属性可以强制覆盖这些默认行为,对齐到和Text组件一致的显示效果。

内容的提问来源于stack exchange,提问作者RasyaJusticio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 01:02:33