2012-10-01 184 views
6

我想設置我使用的WebView中,以特定的像素大小的字體大小。我正在做的事情沿着的Android的WebView字體大小以像素爲單位

<p style="font-size: 18px">Text</p> 

但是,字體的大小在不同的設備上是不同的。任何想法如何使這項工作?

謝謝!

+0

因爲不同的設備有不同大小的像素...如果你真的想將其設置爲像素,你應該期待THI不同設備之間的差異。你有想要使用像素的特定原因嗎? – FoamyGuy

+1

對不起,也許我應該已經詳細闡述了這一點。我使用像素,但我縮放像素以匹配設備的dpi。我的客戶有一個固定的像素設計,我縮放到最大尺寸(有邊框頂部底部或從右到左)。除了webview以外,一切都很完美。 –

回答

6

我發現這是加入以下元標記的HTML

<meta name=\"viewport\" content=\"target-densitydpi=device-dpi\" /> 
+1

棄用http://www.petelepage.com/blog/2013/02/viewport-target-densitydpi-support-is-being-deprecated/ – Dori

+0

謝謝你讓我們知道。那麼我應該考慮一種替代方法。如在下面的鏈接註釋 –

+0

<元名稱=「視口」內容=「寬度=設備寬度」>工作得很好我。 – Juanin

2

您可以使用web視圖得到一個設置對象和setDefaultFontSize(int size)方法來設置默認字體大小。

例如:

myWebView.getSettings().setDefaultFontSize(20); 

另外, 您可以使用setInitialScale(int percentage)方法在您的網頁視圖,設置比例縮放你需要,你可以用不同的百分比試試吧,看看你喜歡哪一個。

例如:

myWebView.setInitialScale(85); 

您也可以使用web視圖得到它的設置對象,然後使用setBuiltInZoomControls(boolean value)方法來允許/禁止用戶使用默認縮放控制,使他們可以根據自己的喜好放大。

例如:

myWebView.getSettings().setBuiltInZoomControls(true); 
0

無的這是爲我工作的解決方案,我需要做這個:

WebSettings settings = wv.getSettings(); 
if (Utils.hasIceCreamSandwich()) 
    settings.setTextZoom((int)(settings.getTextZoom() * 1.2)); 
else { 
    settings.setTextSize(WebSettings.TextSize.LARGER); 
} 
相關問題