在左侧为 Android 剪切 <TextInput>(粗体文本错误)

Cutted <TextInput> on left for Android (BOLD text bug)

我有 react-native TextInput,如果我输入长字符串,它会自动增长。在 iOS 上,它按预期工作,但在 Android 上,它在 5-7 个字符后开始截断左侧。字符串越长 - 截止值越大。我试图删除边距和填充 - 没有变化。我查看了文档中的道具 - 还找不到解决方案。我可以滚动查看截断的字符串,但我希望不滚动查看它,除非没有更多 space 可以增长。

          <TextInput
            key={key}
            style={{
                flex:1, 
                fontSize: '1.2rem',
                fontWeight: 'bold',
            }}
            value={this.state.value}
            onChangeText={this._onChangeText}
            underlineColorAndroid="transparent"
            autoCapitalize="none"
            autoCompleteType='off' // Android
            autoCorrect={false} // iOS
            contextMenuHidden={true}
            importantForAutofill="no"
            keyboardAppearance="dark"
            maxLength={150}
            returnKeyType={returnKeyType}
            spellCheck={false}
            keyboardType={Platform.OS==='ios'
              ?'default'
              :"visible-password" // to disable autocorrect suggestions on android
            } 
          />

当我准备问题时,我发现 设置 fontWeight: 'bold' 导致了这个问题 。但我仍在研究如何使其与粗体文本一起使用(如果可能)。

我试图找到一种没有粗体的粗体字体 属性,但它的行为是一样的...所以似乎 TextInput 只在默认字体下工作正常,没有粗体 属性 ,这是不方便的。

github 上的问题:https://github.com/facebook/react-native/issues/30317

在 TextInput 元素上将 textBreakStrategy 设置为简单似乎也适用于某些设备。

基本上这是和系统字体冲突,所以你可以为你的文本输入指定一些其他的fontFamily。在更多技巧上可以在左侧添加一些额外的 space