温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

安卓webview怎么调字体

发布时间:2026-09-01 11:04:18 来源:亿速云 阅读:88 作者:小樊 栏目:移动开发

Android WebView 里“调字体”通常有三种场景,下面分别说:


一、设置 WebView 默认字体大小(整体缩放)

这是最常用的方式,直接改变网页的默认字号(类似浏览器里的“字体大小”)。

WebSettings settings = webView.getSettings();
settings.setDefaultFontSize(18);          // 默认字体大小(像素)
settings.setDefaultFixedFontSize(16);    // 等宽字体大小

✅ 适合:网页没有自己写死字体大小的情况
❌ 对 font-size: 16px; 这种固定值无效


二、通过缩放比例调整(推荐,兼容性好)

webView.getSettings().setTextZoom(120); // 百分比,100 为默认
  • 100 = 正常
  • 120 = 放大 20%
  • 80 = 缩小

最推荐

  • 不影响布局
  • 对所有网页基本都生效

三、通过 CSS / JS 控制网页字体(WebView 内网页可控)

1. 注入 CSS(强制改字体)

webView.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url) {
        String css = "body{font-size:18px !important;}";
        String js = "javascript:(function(){" +
                "var style=document.createElement('style');" +
                "style.innerHTML='" + css + "';" +
                "document.head.appendChild(style);" +
                "})()";
        view.loadUrl(js);
    }
});

✅ 适合:

  • 你控制网页内容
  • 需要精细控制字体、字体族

2. 使用本地字体(自定义字体)

webView.getSettings().setAllowFileAccess(true);

HTML 中:

<style>
@font-face {
  font-family: MyFont;
  src: url("file:///android_asset/fonts/myfont.ttf");
}
body {
  font-family: MyFont;
}
</style>

四、常见问题

❓ 设置了没效果?

  • 网页用了固定 px
  • 用了 viewport 缩放
  • 字体被 !important 覆盖

解决:

settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);

总结建议

需求 推荐方式
简单放大字体 setTextZoom()
系统级统一 setDefaultFontSize()
精确控制 JS 注入 CSS
自定义字体 @font-face

如果你有 具体场景(比如:微信内网页 / 自己 App / H5 页面),我可以给你更针对性的代码。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI