【问题标题】:React Native - hyphenationReact Native - 连字符
【发布时间】:2016-04-27 15:55:01
【问题描述】:

我正在开发一个 React Native 应用程序,在该应用程序中我会在框中显示一些文本。有时,框中的单个单词太长而无法放在一行中,因此 RN 会在单词太长时将其断开并继续下一行的文本。不幸的是,这会导致单词的断字效果不佳(请参见图像中的左框)。我正在尝试找到一种解决方案来改进这一点,以便在此示例中,结果将类似于右侧的框,其中单词在合理的位置连字符。我知道有处理连字符的 javascript 库。 This 示例将单词分成数组中的连字符。我被困在这里,因为我不知道如何实际确定是否需要连字这个词。有什么想法吗?

【问题讨论】:

  • 在“t”和“N”之间添加一个空格。小写字母后跟大写字母似乎是您可以在这里应用的唯一规则。在字符串中查找所有这些情况并在大写字母前添加一个空格。
  • 这只是一个例子。如果这个词是“Stackoverflow”——一个没有大写字母的长词呢
  • 那么没有程序规则可以将其拆分到人类可以拆分的位置。
  • 当然有规则 - 我已经链接到一个 javascript 库,该库确实将单词拆分为连字符 - 我只是不知道如何处理它
  • 好的,可以。我只能看到一个大问题。 “专辑”会发生什么?像这样的解决方案几乎总是有你可能无法忽视的奇怪边缘情况。

标签: javascript reactjs react-native


【解决方案1】:

使用 C/C++/Java 编码:

text = 'React\u00ADNative'
<Text>{text}</Text>

【讨论】:

  • 软连字符适用于 iOS,但不适用于 Android。 stackoverflow.com/q/58376106 :(
  • 如果你在文本组件上设置了 android_hyphenationFrequency="full",那么 react-native 软连字符在 Android 上工作。
猜你喜欢
  • 2022-01-07
  • 2018-03-17
  • 1970-01-01
  • 2016-01-02
  • 1970-01-01
  • 2022-07-07
  • 2017-04-25
  • 1970-01-01
  • 2015-10-08
相关资源
最近更新 更多