2012-10-01 68 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); 
} 
相关问题