gpt4 book ai didi

android - 使用 Android 更改已加载网站的字体 WebView

转载 作者:行者123 更新时间:2023-11-28 10:10:30 25 4
gpt4 key购买 nike

我已经搜索了好几天,但找不到解决我问题的方法。请看一看:

  • 输入:一个带有已加载网页的 WebView。
  • 输出:更改 WebView 中加载的网页的字体。

到目前为止我所做的是:

    @SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient());
mWebView.loadUrl("http://www.bbc.co.uk/");

然后,这就是我在 webview 中更改字体的方式:1/方式一:

        mWebView.loadUrl("javascript:(function() { var s=document.createElement('style');s.innerHTML ="
+ " '@font-face{font-family:ZawGyi-One;src:url(\"http://db.tt/OQ1RZoWc\");}"
+ "body,div,h1,h2,h3,input,textarea{font-family:ZawGyi-One! important;}';"
+ "document.getElementsByTagName('head')[0].appendChild(s);document.getElementsByTagName('body')[0].style.fontFamily = \"ZawGyi-One\"})()");

2/方式2:

mWebView.loadDataWithBaseURL(
null,
"<script>javascript:(function() { var s=document.createElement('style');s.innerHTML ="
+ " '@font-face{font-family:ZawGyi-One;src:url(\"http://db.tt/OQ1RZoWc\");}"
+ "body,div,h1,h2,h3,input,textarea{font-family:ZawGyi-One! important;}';"
+ "document.getElementsByTagName('head')[0].appendChild(s);document.getElementsByTagName('body')[0].style.fontFamily = \"ZawGyi-One\"})() </script>",
"text/html", "UTF-8", null);

3/方式3:

        mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);

mWebView.loadUrl("javascript:(function() { var s=document.createElement('style');s.innerHTML ="
+ " '@font-face{font-family:ZawGyi-One;src:url('file:///android_asset/fonts/BLKCHCRY.TTF');}"
+ "body,div,h1,h2,h3,input,textarea{font-family:ZawGyi-One! important;}';"
+ "document.getElementsByTagName('head')[0].appendChild(s);document.getElementsByTagName('body')[0].style.fontFamily = \"ZawGyi-One\"})()");

}
});

但不幸的是,我的解决方案都不起作用。即使我尝试更改 html 文件 insdie/assets/文件夹并且字体也存储在/assets/fonts/文件夹中,我无法完成这个。

**还有一个问题:是否真的可以在已加载的 webview 站点内更改字体样式?有人,请指导我。

感谢您的大力帮助。

最佳答案

看看这个答案.. How to change font face of Webview in Android? ..

或者试试这个演示元素.. https://github.com/mayooresan/Japs-Attack-Ceylon--Android-App

希望对你有帮助。

关于android - 使用 Android 更改已加载网站的字体 WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24401273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com