2017-10-06 62 views
0

我試圖在Android中使用自動連字符打破文本行。這是某些語言的重要功能。例如俄羅斯和印刷術。俄語單詞比英語長,因此應該用連字符打包,以創建一個直接的右側文本邊界。在反應本機中連字符換行

我tryied遵循這個問題的建議: Hyphenation in Android

我在的話,可以分裂的地方加連字符。但Android仍然只是在空格處包裝線條。然後我把所有的空間都換成了非空白的空格。它的作品,直到一個字不超過45個字母。由於我所有的空間都是非易碎的,因此Android會將所有文本視爲一個單詞,因此如果它超過45個字母,則不會被忽略。

這是screenshot with the problem。所有的空間都被不間斷的空間所取代。第一段是超過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) 
+0

您是否嘗試過對單詞或段落的集合進行映射,如果單詞長於45個字符,則添加連字符,否則不要? – fungusanthrax

回答

0

您是否嘗試過使用JavaScript庫斷字如bramstein/hypher?似乎應該這樣做。

+0

它是一個在子字符串上分割單詞的工具,所以我可以在子字符串之間插入一個軟連字符。但問題是,Android不會呈現該軟連字符。而且我不能自己插入連字符,因爲文本不是靜態的,而且它具有動態寬度。 –

+0

好吧,對不起......只是一個主意。也許還有另一個JS解決方案。 –