1

RTL テキストを正しく配置するために WebView を使用しています。

簡単に言えば、テキストが長い場合は「...」の省略記号を追加したいのです。

を使用して TextView にアーカイブされているものandroid:ellipsize="end"

「...」省略記号を実現する方法、または WebView の行数を制御する方法はありますか?

コードは次のとおりです。

String header = "<html><head><meta http-equiv=\"Content-Type\" +" + "content=\"text/html; charset=UTF-8\" /></head>";
String dt = "<body dir=\"rtl\">" +  o.get(p).getTitle() +"</body></html>";
webView.loadData(URLEncoder.encode(header + dt,"utf-8").replaceAll("\\+"," "), "text/html", "UTF-8");
4

2 に答える 2

0

次の 2 つの簡単なオプションがあります。

  1. HTML 要素で CSS と text-overflow プロパティを使用します

  2. 省略記号が表示される場所をもう少し適切に制御し、その手段が必要な場合は、script タグを介して HTML に jQuery と jQuery 省略記号プラグインを含めます

于 2012-04-27T08:37:24.357 に答える
0

html を解析して、ページで最後に表示されている html 要素を見つけることができます。次に、その要素に #ellipsis id を追加することで、次を使用できます。

CSS テキストの折り返し: http://jsfiddle.net/6HcWM/

問題は、画面サイズが変化する可能性があるため、最後に表示された html 要素を見つけることです。また、ズーム レベルもおそらく変化する可能性があります。これを発見するには、html に JavaScript を追加する必要があると思います...

多分これはうまくいくでしょう: DOM 要素が現在のビューポートに表示されているかどうかを確認するにはどうすればよいですか?

于 2012-04-27T08:42:42.673 に答える