自動ハイフネーションを使用して、Android のテキストを完全に正当化しようとしています。here で説明されているように、WebView を使用して完全な正当化を達成しました。Android での自動ハイフネーションに関するいくつかのスレッドを読みましたが、どれも WebViews には適用されません。新しい CSS3 hyphens:auto (-webkit-hyphens:auto を含む) を使用してみましたが、Android WebKit はまだサポートしていません。
ハイフェネーター JavaScript の使用について言及しているブログ投稿を見つけましたが、実装方法がわかりません (JavaScript と HTML は次の作業リストにあります)。.js ファイルのサイズが大きいため、単純に使用したくありませんwebView.loadUrl("javascript:someFunction()");
現在使用しているコードは次のとおりです。
public class TestWebView extends Activity {
@Override
public void onCreate (Bundle savedState) {
WebView webView;
super.onCreate(savedState);
webView = new WebView(this);
setContentView(webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.loadUrl("file:///android_asset/WorkingExample.html");
}
}
HTMLは次のとおりです。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>Hyphenator.js</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
body {
width:30%;
margin-left:35%;
margin-right:35%;
}
.text {
text-align:justify;
}
</style>
<script src="Hyphenator.js" type="text/javascript"></script>
<script type="text/javascript">
Hyphenator.config({
displaytogglebox : true,
minwordlength : 4
});
Hyphenator.run();
</script>
</head>
<body>
<h1>Example of using Hyphenator.js</h1>
<h2>Deutsch</h2>
<p class="hyphenate text" lang="de">Deutschsprachige Beispieltexte haben natürlicherweise längere Wortzusammensetzungen als englischsprachige. Aber auch <span lang="en">“hyphenation”</span> ist ein ziemlich langes Kompositum.</p>
<p class="hyphenate text" lang="de">Verändern Sie die Fenstergrösse um den Effekt der Silbentrennung zu sehen.</p>
<h2>English</h2>
<p class="hyphenate text" lang="en">English words are shorter in the average then german words. <span lang="de">«Silbentrennungsalgorithmus»</span> for example is quite long.</p>
<p class="hyphenate text" lang="en">Resize the window to see hyphenation in effect.</p>
<h2>Links</h2>
<p class="hyphenate text" lang="en">Not only words but also links like <a href="http://code.google.com/p/hyphenator/">http://code.google.com/p/hyphenator/</a> are processed. But in a special manner (using zero width space).</p>
</body>
</html>
html ファイルと一緒に Hyphenator.js ファイルが保存されます。コンピューターのブラウザーで HTML ファイルを開くと期待どおりに動作しますが、電話ではうまくいきません。 最終的には、テキストを動的に生成したいのですが、これを機能させるだけでも大きな助けになります。ありがとう。