如何在带有 React Native Text 的 Android 中实现软连字符
Posted
技术标签:
【中文标题】如何在带有 React Native Text 的 Android 中实现软连字符【英文标题】:How to implement soft hyphen in Android w/ React Native Text 【发布时间】:2019-10-14 11:46:19 【问题描述】:<Text>
Aufmerksamkeits'\u00AD'defizit
</Text>
这会在 ios 上导致
Aufmerksamkeits- 赤字率
但在 android 上
Aufmerksamkeitsd 效果图
因此,Android 似乎忽略了给定的软连字符。我怎样才能在Android上也能做到这一点?
谢谢!
【问题讨论】:
【参考方案1】:我现在有点晚了,但我花在这上面的时间比我引以为豪的要多。如果您想使用软连字符,请在字符串中使用 \u00AD,例如:
<string name="einzelfahrt_name">Einzelfahrrad\u00ADkarte</string>
为了使这个工作,在你的 TextView 中,你必须添加:
android:hyphenationFrequency="full"
【讨论】:
哪里需要添加“android:hyphenationFrequency”?请提供示例 在 React Native 中,此选项应设置为属性:<Text android_hyphenationFrequency="full">Einzelfahrrad\u00ADkarte</Text>
这对我有用!但请确保您的 React Native 版本高于 0.65。【参考方案2】:
我也有同样的问题,Android 似乎忽略了软连字符。
我能想到的唯一解决方法是,仅在 Android 上,将 \u00AD
替换为 \u200B
。它被称为zero-width-space,它会正确地破坏预期的单词,尽管它不会显示任何连字符。你最终会得到:
Aufmerksamkeits
defizit
不是完美的解决方案,但至少不会在随机位置打断单词。
【讨论】:
以上是关于如何在带有 React Native Text 的 Android 中实现软连字符的主要内容,如果未能解决你的问题,请参考以下文章
React-native - 带有 flexbox 的 Pinterest 风格
React-native:如何在 React-native 中使用(和翻译)带有 jsx 的 typescript .tsx 文件?
带有 Typescript 的 React-Native 自定义文本组件:“将 React.ReactNode 类型转换为文本类型......”
如何使用带有钩子的 react-native-action-sheet