2017-10-06 12 views
0

私は、反応ネイティブのAndroidで自動ハイフネーションを使用してテキスト行を分割しようとしています。いくつかの言語にとっては重要な機能です。たとえば、ロシア語の場合はタイポグラフィです。ロシア語では英語よりも長いので、ハイフネーションで囲んで右のテキストの境界線を作成する必要があります。反応ネイティブのハイフネーション付き改行

私はこの問題の提案に従うことをtryied: Hyphenation in Android

私は単語が分割されることができる場所でソフトハイフンを追加しました。しかし、Androidはまだスペースだけで行を囲んでいます。それから、すべてのスペースを改行しないスペースで置き換えました。そして、それは単語が45文字より長くならない限り、機能します。すべての私のスペースは破られないので、Androidはすべてのテキストを1つの単語として扱います。したがって、45文字以上の場合はハイフンではありません。

ここにはscreenshot with the problemがあります。すべてのスペースは改行されないスペースで置き換えられます。最初の段落は45文字よりも長いため、どの位置でもアンドロイドブレークラインが表示されます(ソフトハイフンではありません)。 2番目の段落は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

は、あなたがそのようなbramstein/hypherとしてのjavascriptのハイフネーションライブラリを使用してみましたか?そのようなトリックを行う必要がありますように見えます。

+0

部分文字列間にソフトハイフンを挿入できるように、部分文字列に単語を分割するツールです。しかし、問題はAndroidがそのソフトハイフンをレンダリングしないということです。テキストは静的ではなく動的な幅を持つため、ハイフンを挿入することはできません。 –

+0

申し訳ありません...ただのアイデアでした。おそらく別のJSソリューションがあります。 –

関連する問題