如何手动更改 webview 的字体大小?例如,当页面在 webview 中加载时,字体大小为 24pt。而且对于我的安卓屏幕来说太大了。我已经查看了“websettings”,但似乎两者没有关系。
谢谢
如何手动更改 webview 的字体大小?例如,当页面在 webview 中加载时,字体大小为 24pt。而且对于我的安卓屏幕来说太大了。我已经查看了“websettings”,但似乎两者没有关系。
谢谢
我终于找到了:-
WebSettings webSettings = webView.getSettings();
要么setTextSize
_
webSettings.setTextSize(WebSettings.TextSize.SMALLEST);
这个也可以:-
webSettings.setDefaultFontSize(10);
似乎现在更喜欢的方式,即不折旧是改变文本缩放,像这样:
WebSettings settings = mWebView.getSettings();
settings.setTextZoom(90); // where 90 is 90%; default value is ... 100
当我想让用户更改文本大小/放大时,这就是我使用的WebView
:
private WebView mWebView;
// init web view and stuff like that ...
private void textSmaller() {
WebSettings settings = mWebView.getSettings();
settings.setTextZoom(settings.getTextZoom() - 10);
}
private void textBigger() {
WebSettings settings = mWebView.getSettings();
settings.setTextZoom(settings.getTextZoom() + 10);
}
在Actionbar
单击项目时,我调用textSmaller()
或textBigger()
更改文本大小。
我使用 Javascript 来做这些事情,因为它实际上总是有效的。即使您的 HTML 中使用了 CSS 文件
mWebView.loadUrl("javascript:(document.body.style.backgroundColor ='red');");
mWebView.loadUrl("javascript:(document.body.style.color ='yellow');");
mWebView.loadUrl("javascript:(document.body.style.fontSize ='20pt');");
当然,您需要将尺寸和颜色更改为您需要的
如果您想动态增加或减少 WebView 的字体大小而不是使用这些代码行:
WebView mWebView;
int fontSize;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = findViewById(R.id.webview);
mWebView.loadUrl("file:///android_asset/sample.html");
// enable / disable javascript
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setDisplayZoomControls(true);
fontSize = mWebView.getSettings().getDefaultFontSize();
}
private void fontSizePlus() {
fontSize++;
this.changeFontSize(fontSize);
}
private void fontSizeMinus() {
fontSize--;
this.changeFontSize(fontSize);
}
private void changeFontSize(int value) {
mWebView.getSettings().setDefaultFontSize(value);
}
public void Inc(View view) {
fontSizePlus();
}
public void Dec(View view) {
fontSizeMinus();
}