Android WebView 网页使用本地字体
要求在网页里面调用android app中assets目录下的某个字体文件。
网页加载通常有两种方式:
1、loadDataWithBaseURL
2、loadUrl
一、loadDataWithBaseURL
网页中直接使用file://指定assets文件路径即可
示例:
font-family: url('file:///android_asset/xxx.TTF')
二、loadUrl
这种情况网页中不能直接使用file://来指定文件路径,否则会如下错误。
"Not allowed to load local resource: file:///android_asset/fonts/xxx.TTF"
正确做法:必须通过WebView来拦截。
1、在网页中指定字体
font-family: url('/android_asset_font/xxx.TTF')
2、重写WebViewClient 的shouldInterceptRequest方法
String INJECTION_TOKEN = "/android_asset_font/";@Overridepublic WebResourceResponse shouldInterceptRequest(WebView webView, String url) {if (url != null && url.contains(INJECTION_TOKEN)) {try {String assetPath = url.substring(url.indexOf(INJECTION_TOKEN) + INJECTION_TOKEN.length(), url.length());return new WebResourceResponse("application/octet-stream","UTF8", getContext().getAssets().open(assetPath));} catch (Exception e) {e.printStackTrace();}}return super.shouldInterceptRequest(webView, url);}
参考:
https://stackoverflow.com/questions/19997146/kitkat-kills-not-allowed-to-load-local-resource-file-android-asset-webkit-a/20992306#20992306
Android WebView 网页使用本地字体相关推荐
- Chrome 调试 Android WebView 网页
手机开启开发者模式,并且Usb 连接到电脑 Android webView 开启调试模式 mWebView.setWebContentsDebuggingEnabled(true); Chrome 浏 ...
- android webview 字体 系统字体大小,【转】android webview设置内容的字体大小
Enum for specifying the text size. SMALLEST is 50% SMALLER is 75% NORMAL is 100% LARGER is 150% LARG ...
- android webview 加载本地,webview加载本地资源的各种尝试
1.webview 打开sd卡上的静态html文件 ,js文件既然放在assets文件夹下能找到,那能通过放在sd卡,能加载吗? 答:事实证明,是没有用的. 2.既然能拿到html的数据,那我们是不是 ...
- android webview 网页图片加载不出来、显示不全、进入某页面退出,h5页面滑不了,点不了等功能异常等问题集锦
在我们的android开发中,难免会嵌套一些h5页面在APP中,固然是减轻了开发者的负担,但也容易遇到一些很奇怪的问题. 一.网页图片加载不出来 此前笔者公司由于h5网页链接频繁被劫持篡改(链接被篡改 ...
- android webview网页显示不完整,【报Bug】webview页面内容显示不全
详细问题描述 更新到2.6.0之后,进入webview页面,嵌入的html页面无法完全显示,部分内容被遮挡 [内容] 重现步骤 [步骤] 进入webview页面 [结果] 内容无法完全显示,部分内容被 ...
- Android webview加载本地html详细教程
1.创建一个项目 一路默认就可以 2. 右键点击app创建一个和res同级的assets 文件夹.在此文件夹下把html文件以及所要渲染的静态文件放进去 如这是我的文件夹 注:在html中引用css, ...
- android webview 加载本地pdf,android – 在WebView中打开PDF
我想在我的WebView中打开一个PDF,我在这个论坛上找到并组合了代码. 但是,虽然我安装了多个PDF应用程序,包括Adobe Reader,但它仍然可以找到"找不到PDF应用程序&quo ...
- android webview问题汇总
webview的onkeydown响应问题 问题我已经解决,我不使用onKeyDown了,使用dispatchKeyEvent. Android webview Android 该问题:1票?1回答? ...
- WebView网页视频统一全屏播放及横竖屏切换
WebView 支持 Html5 video 进行全屏播放及横竖屏自动切换 1.检查AndroidManifest.xml清单文件,WebView控件所在的Activity配置信息;检查Activit ...
- android textview 字体颜色设置,Android textview 设置不同的字体大小和颜色
在实际应用中,需要将一个字符串已不同的颜色,字体显示出来.当然完全可以通过不同textview拼接出来.也可以通过一个textview来展示. 步骤如下: 1.定义不同style . 不妨如下定义2个 ...
最新文章
- zookeeper集群环境搭建
- auth 认证组件的补充
- c语言数据结构五子棋实验报告,数据结构课程设计-五子棋
- php getfullyear,getYear、getFullYear和getUTCFullYear三者的区别
- linux 查看tdagent进程,Zabbix监控记录linux服务器近期的登录情况
- SVN工作笔记003---svn文件被别人锁定,而那人又把锁定的文件删除了,解锁办法
- 推荐学习网页标准的20个好去处
- MyEclipse7.0及JDK1.6.0的安装及配置过程(修改)
- SAP 是不是很烂的一个ERP软件
- 支架预压弹性变形值计算_支架预压计算.doc
- 北京口袋时尚科技公司-微店内推技术一面
- 二相混合式步进电机开环细分控制simulink仿真模型
- swf转gaf使用方法
- VisualVM使用方法
- 荣耀开发者平台全面升级,加强分发场景服务与能力开放
- ios版本 线控 Android,iOS 耳机线控
- android apk安装工具,APK安装器下载-APK安装器手机版下载v2.9-1 安卓版-西西软件下载...
- 领略千变万化的Android Drawable (二)
- 【IoT】硬件产品设计:智能硬件产品开发时间表
- 小小的世界,大大的我们
热门文章
- LabVIEW前面板数值控件显示7段LED数码管样式
- 一个程序员眼中的项目经理
- asp.net高校宿舍后勤管理系统
- HeadFirstJava——6_Java API
- vs2019键盘钩子_低级键盘钩子回调函数
- 【项目总结】基于STM32的物流搬运小车
- 清华大学王行言教授DELPHI程序设计在线学习
- Delphi Web前端开发教程(1):基于TMS WEB Core框架
- 计算机知识脑筋急转弯,10道智力题图片及答案大全|2018年朋友圈最烧脑的10道智力题 附答案_最火软件站...
- 免费复制百度文库的方法