2012-04-27 51 views
1

我正在使用WebView來正確對齊RTL文本。如何在WebView中將「...」省略號添加到冗長的文本中?

簡單地說,我想在文本很長的時候添加「...」省略號。

這是在使用android:ellipsize="end"

一個TextView歸檔有沒有辦法實現「......」省略號或控制在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"); 
+0

肯定的是,這是什麼問題?這些步驟看起來微不足道(找出文本是否太長,添加省略號),那麼哪一步沒有解決?你現在的代碼看起來如何? html/css對此有什麼要求? – Nanne 2012-04-27 08:13:21

+0

@Nanne感謝您的回覆,我如何才能知道文本是否冗長,並且不適合WebView?這是我的問題:) – 2012-04-27 08:15:46

+0

什麼是textview在做什麼?你添加了一個只包含省略號的地方?你能顯示一些代碼嗎? – Nanne 2012-04-27 08:17:15

回答

0

你有兩個簡單的選擇:

  1. 使用CSS和你的HTML元素的文本overflow屬性:方向here

  2. 如果你需要更好的控制,出現省略號並且有手段 - 在你的HTML中通過腳本標籤包括jQuery和一個jQuery省略號插件:方向here

+0

感謝您的回答。然而,白色空間:nowrap; CSS屬性使文本包裝在一行中。如何將文本包裝在WebView高度的90%中? – 2012-04-27 08:58:08

0

您可以解析html並找出哪個是頁面上最後一個可見的html元素。然後,您可以通過將#ellipsis編號附加到該元素來使用以下內容。

CSS文字環繞: http://jsfiddle.net/6HcWM/

的問題會找到最後一個可見的HTML元素的屏幕大小可以變化,也縮放級別大概可以有所不同。我猜,你還需要附加的JavaScript的HTML發現這個...

也許這會工作: How to tell if a DOM element is visible in the current viewport?

+0

感謝您的回答。然而,白色空間:nowrap; CSS屬性使文本包裝在一行中。如何將文本包裝在WebView高度的90%中? – 2012-04-27 08:57:29

+0

我不太清楚你的意思是「在90%的webview高度」 – Jack 2012-04-27 09:23:36

+0

我的意思是我不希望文本被包裝在一行中。例如,我希望省略號顯示在第三行的末尾。 – 2012-04-27 09:31:06

相關問題