如何禁止Android应用WebView字体随系统字体大小变化
解决WebView随系统字体大小缩放的问题
我之前也踩过这个坑,系统字体调大后WebView跟着变大确实很影响页面布局。你试的setMinimumFontSize和setMinimumLogicalFontSize其实早就被废弃了,而且它们的设计初衷也不是用来阻止系统全局缩放的,没效果很正常。给你几个实测有效的方案:
直接禁用WebView的字体缩放(推荐)
用setTextZoom()方法强制WebView保持100%的缩放比例,完全不受系统字体大小设置的影响。代码很简单:webView.getSettings().setTextZoom(100);这个方法从API 14开始支持,现在几乎所有主流设备都能兼容,是最直接高效的解决方案。
通过HTML Viewport控制(仅适用于自有网页)
如果WebView加载的是你自己开发的HTML页面,可以在页面的<head>里添加viewport元标签,锁定缩放比例:<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">这个方法能从网页层面阻止缩放,但如果是加载第三方网页,就没法修改对方的HTML了,这种情况还是用第一个方案更合适。
额外注意事项
如果你需要在某些场景下允许缩放,也可以先获取系统的字体缩放比例,再动态调整WebView的setTextZoom值,但如果是要完全隔离系统字体设置,直接设为100就够了。
内容的提问来源于stack exchange,提问作者Parvindra Singh
相关产品推荐
相关产品推荐

