要求在网页里面调用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 网页使用本地字体相关推荐

  1. Chrome 调试 Android WebView 网页

    手机开启开发者模式,并且Usb 连接到电脑 Android webView 开启调试模式 mWebView.setWebContentsDebuggingEnabled(true); Chrome 浏 ...

  2. android webview 字体 系统字体大小,【转】android webview设置内容的字体大小

    Enum for specifying the text size. SMALLEST is 50% SMALLER is 75% NORMAL is 100% LARGER is 150% LARG ...

  3. android webview 加载本地,webview加载本地资源的各种尝试

    1.webview 打开sd卡上的静态html文件 ,js文件既然放在assets文件夹下能找到,那能通过放在sd卡,能加载吗? 答:事实证明,是没有用的. 2.既然能拿到html的数据,那我们是不是 ...

  4. android webview 网页图片加载不出来、显示不全、进入某页面退出,h5页面滑不了,点不了等功能异常等问题集锦

    在我们的android开发中,难免会嵌套一些h5页面在APP中,固然是减轻了开发者的负担,但也容易遇到一些很奇怪的问题. 一.网页图片加载不出来 此前笔者公司由于h5网页链接频繁被劫持篡改(链接被篡改 ...

  5. android webview网页显示不完整,【报Bug】webview页面内容显示不全

    详细问题描述 更新到2.6.0之后,进入webview页面,嵌入的html页面无法完全显示,部分内容被遮挡 [内容] 重现步骤 [步骤] 进入webview页面 [结果] 内容无法完全显示,部分内容被 ...

  6. Android webview加载本地html详细教程

    1.创建一个项目 一路默认就可以 2. 右键点击app创建一个和res同级的assets 文件夹.在此文件夹下把html文件以及所要渲染的静态文件放进去 如这是我的文件夹 注:在html中引用css, ...

  7. android webview 加载本地pdf,android – 在WebView中打开PDF

    我想在我的WebView中打开一个PDF,我在这个论坛上找到并组合了代码. 但是,虽然我安装了多个PDF应用程序,包括Adobe Reader,但它仍然可以找到"找不到PDF应用程序&quo ...

  8. android webview问题汇总

    webview的onkeydown响应问题 问题我已经解决,我不使用onKeyDown了,使用dispatchKeyEvent. Android webview Android 该问题:1票?1回答? ...

  9. WebView网页视频统一全屏播放及横竖屏切换

    WebView 支持 Html5 video 进行全屏播放及横竖屏自动切换 1.检查AndroidManifest.xml清单文件,WebView控件所在的Activity配置信息;检查Activit ...

  10. android textview 字体颜色设置,Android textview 设置不同的字体大小和颜色

    在实际应用中,需要将一个字符串已不同的颜色,字体显示出来.当然完全可以通过不同textview拼接出来.也可以通过一个textview来展示. 步骤如下: 1.定义不同style . 不妨如下定义2个 ...

最新文章

  1. zookeeper集群环境搭建
  2. auth 认证组件的补充
  3. c语言数据结构五子棋实验报告,数据结构课程设计-五子棋
  4. php getfullyear,getYear、getFullYear和getUTCFullYear三者的区别
  5. linux 查看tdagent进程,Zabbix监控记录linux服务器近期的登录情况
  6. SVN工作笔记003---svn文件被别人锁定,而那人又把锁定的文件删除了,解锁办法
  7. 推荐学习网页标准的20个好去处
  8. MyEclipse7.0及JDK1.6.0的安装及配置过程(修改)
  9. SAP 是不是很烂的一个ERP软件
  10. 支架预压弹性变形值计算_支架预压计算.doc
  11. 北京口袋时尚科技公司-微店内推技术一面
  12. 二相混合式步进电机开环细分控制simulink仿真模型
  13. swf转gaf使用方法
  14. VisualVM使用方法
  15. 荣耀开发者平台全面升级,加强分发场景服务与能力开放
  16. ios版本 线控 Android,iOS 耳机线控
  17. android apk安装工具,APK安装器下载-APK安装器手机版下载v2.9-1 安卓版-西西软件下载...
  18. 领略千变万化的Android Drawable (二)
  19. 【IoT】硬件产品设计:智能硬件产品开发时间表
  20. 小小的世界,大大的我们

热门文章

  1. LabVIEW前面板数值控件显示7段LED数码管样式
  2. 一个程序员眼中的项目经理
  3. asp.net高校宿舍后勤管理系统
  4. HeadFirstJava——6_Java API
  5. vs2019键盘钩子_低级键盘钩子回调函数
  6. 【项目总结】基于STM32的物流搬运小车
  7. 清华大学王行言教授DELPHI程序设计在线学习
  8. Delphi Web前端开发教程(1):基于TMS WEB Core框架
  9. 计算机知识脑筋急转弯,10道智力题图片及答案大全|2018年朋友圈最烧脑的10道智力题 附答案_最火软件站...
  10. 免费复制百度文库的方法