在android webview中将CSS注入网页
我浏览了很多网页来获取教程。我看到很多关于将CSS/js注入本地HTML文件的帖子。但我正试图将我的CSS文件注入android webview项目的网页中。示例:将自定义字体CSS注入Facebook、Google等。。。(不在本地HTML文件中)。我的密码坏了 这是我的密码在android webview中将CSS注入网页,android,css,webview,Android,Css,Webview,我浏览了很多网页来获取教程。我看到很多关于将CSS/js注入本地HTML文件的帖子。但我正试图将我的CSS文件注入android webview项目的网页中。示例:将自定义字体CSS注入Facebook、Google等。。。(不在本地HTML文件中)。我的密码坏了 这是我的密码 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); set
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_webview);
String html = "<html><head><style>@font-face {@font-family: 'Conv_LISU'; src: url('file:///android_asset/font/LISU.ttf');} body, button, input, label, select, td, tr, textarea,li,ul,span,div,table,h1,h2,h3,h4{ font-family:Conv_LISU;}</style></head>";
WebView webView = (WebView)findViewById(R.id.webView);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
// Handle the error
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.setInitialScale(1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(false);
webView.loadData(html, "text/html", "utf-8");
webView.loadUrl("http://google.com");
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u网络视图);
字符串html=“@font-face{@font-family:'Conv_-LISU';src:url('file:///android_asset/font/LISU.ttf“);}正文、按钮、输入、标签、选择、td、tr、textarea、li、ul、span、div、table、h1、h2、h3、h4{font-family:Conv_-LISU;}”;
WebView WebView=(WebView)findViewById(R.id.WebView);
setWebViewClient(新的WebViewClient(){
@凌驾
接收错误时公共无效(WebView视图,int错误代码,
字符串说明,字符串失败(URL){
//处理错误
}
@凌驾
公共布尔值shouldOverrideUrlLoading(WebView视图,字符串url){
view.loadUrl(url);
返回true;
}
});
webView.setInitialScale(1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverview模式(true);
webView.getSettings().setUseWideViewPort(true);
webView.setScrollBarStyle(webView.SCROLLBARS\u外部\u覆盖);
webView.SetScrollBarFadinEnabled(假);
加载数据(html、“文本/html”、“utf-8”);
webView.loadUrl(“http://google.com");
}
}这种方式不起作用,因为您的源字体来自/assets/folder
String html = "<html><head><style>@font-face {@font-family: 'Conv_LISU'; src: url('file:///android_asset/font/LISU.ttf');} body, button, input, label, select, td, tr, textarea,li,ul,span,div,table,h1,h2,h3,h4{ font-family:Conv_LISU;}</style></head>";
String html=“@font-face{@font-family:'Conv_-LISU';src:url('file:///android_asset/font/LISU.ttf“);}正文、按钮、输入、标签、选择、td、tr、textarea、li、ul、span、div、table、h1、h2、h3、h4{font-family:Conv_-LISU;}”;
当CSS不是来自互联网时,它不会得到字体,请在“src:url('file:///android_asset/font/LISU.ttf“)”指向一些可下载的字体链接,如:“src:url(“”)
现在应该可以了