2013-08-05 32 views
0

在我的應用程序中有一個WebView和一個按鈕。
單擊按鈕我通過AsyncTask從webservice接收HTML。
當我從服務接收到相同的HTML時,會出現這種情況。
三星設備中帶有中心標籤的Android WebView的奇怪行爲

的HTML:

<html> 
    <head> 
    </head> 
    <body style="font-family:Arial;"> 
     <center>No data to display</center> 
    </body> 
</html> 

奇怪行爲:
在每個奇數呼叫(1,3,5,...)上面的HTML居中,每個偶數調用相同的HTML與左對齊。
它只在三星Galaxy 2和Android 3上發生,而在Android 2.3.4上不會發生在摩托羅拉Atrix上。

我加載HTML與:

mReportChart.loadDataWithBaseURL("fake://", data.getHtml(), "text/html", "utf-8", "fake://"); 

每次是相同的HTML。
我該如何解決這個問題?

回答

2

本是正確的,center標籤不規範HTML5,所以你不能指望它正常工作。如果可以的話,最好的解決方案是擺脫中心標籤。但是,如果不是這種情況,你可以「強制」中心標籤以CSS爲中心。將以下內容添加到樣式表中,它應該是固定的:

center { 
    margin-left:auto; 
    margin-right:auto; 
    text-align:center; 
} 
0

中心標記在HTML 4.01中被棄用,並且在HTML 5中不被支持。我會用CSS來集中你想要的東西。

http://www.w3schools.com/tags/

<div style="text-align: center;"> 
No data to display 
</div> 
+0

那麼爲什麼有時它在設備上工作? – NickF

+0

@NickF一些瀏覽器支持其他人沒有的標籤。如果你希望你的代碼能夠適用於大多數瀏覽器,那就試着堅持這些標準。過去成爲標準的標準已不再是標準,如果您選擇使用舊代碼,某些瀏覽器將無法按照您的計劃工作。 –

+0

請再讀一遍這個問題,我提到過,在三星銀河系統的同一個移動瀏覽器中,有一次它看起來不錯,而另一個則沒有。 – NickF