React-Native中的自动换行和连字符

3
我试图在React Native中使用自动连字符断开文本行。 它是某些语言的重要功能,例如俄语和它的印刷文本。 在俄语中,词比英语长,因此应该使用连字符将其包裹以创建直线右侧的文本边框。
我尝试遵循这个问题的建议:https://dev59.com/tW855IYBdhLWcg3wPBz6
我在可以分裂单词的地方添加了软连字号。 但Android仍然只在空格处换行。 然后,我用不可中断的空格替换了所有空格。 它有效,直到一个单词超过45个字母。 因为我所有的空格都是不可断的,所以如果超过45个字母,Android会把整个文本当作一个单词,因此不会出现连字符。
这是屏幕截图和问题的链接:https://istack.dev59.com/GWeLs.webp 。 所有空格都被替换为不间断的空格。 第一段超过45个字母,因此android在任何位置(而不是在软连字号处)折行。 第二段限制为45个字母,您可以在那里看到期望的行为。
我的设置:
npm dependencies:
  "expo": "21.0.0"
  "react-native": "0.48.4"
  "react": "16.0.0-alpha.12"

app.json
  "sdkVersion": "21.0.0"

Android-7.1.1, Expo-1.20 (Android application)

你尝试过对单词或段落的集合进行映射,如果单词超过45个字符,则添加连字符,否则不添加吗? - fungusanthrax
1个回答

1

你尝试过使用像bramstein/hypher这样的JavaScript断字库吗?看起来应该可以解决问题。


这是一个将单词分割成子字符串的工具,以便我可以在子字符串之间插入软连字符。但问题是Android无法呈现该软连字符。而且我无法自己插入连字符,因为文本不是静态的,它具有动态宽度。 - Gene Zharov
好的,抱歉...只是一个想法。也许还有其他JS解决方案。 - Chris Geirman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接