android webview 全屏100%显示图片

2023-11-05

这里引用 第三方类库 

implementation 'org.jsoup:jsoup:1.10.2'

定义工具类 HtmlUtils
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

 
public class HtmlUtils {
    /**
     * 将html文本内容中包含img标签的图片,宽度变为屏幕宽度,高度根据宽度比例自适应
     **/
    public static String getNewContent(String htmltext){
        try {
            Document doc= Jsoup.parse(htmltext);
            Elements elements=doc.getElementsByTag("img");
            for (Element element : elements) {
                element.attr("width","100%").attr("height","auto");
            }

            return doc.toString();
        } catch (Exception e) {
            return htmltext;
        }
    }
}
View Code

使用方法

 if(!TextUtils.isEmpty(mCourseDetailRes.getVideo_intro())) {
                   mWebView.setVisibility(View.VISIBLE);
                   WebSettings webSettings = mWebView.getSettings();
                   // 启用JS
                   webSettings.setJavaScriptEnabled(true);
                   webSettings.setUseWideViewPort(true);
                   webSettings.setLoadWithOverviewMode(true);
                   webSettings.setBuiltInZoomControls(false);//开启zoom
                   webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
                   webSettings.setDisplayZoomControls(false);
                   mWebView.setWebViewClient(new WebViewClient());
                   String html=HtmlUtils.getNewContent(mCourseDetailRes.getVideo_intro());
                   mWebView.loadData(html+ "", "text/html", "UTF-8");
               }
View Code

 注意 webview loadData 显示中文乱码,加上charset=UTF-8


mWebView.loadData(html + "", "text/html; charset=UTF-8", "UTF-8");
字体放大功能
webSettings.setTextZoom(220);//字体大小

转载于:https://www.cnblogs.com/freexiaoyu/p/10979310.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android webview 全屏100%显示图片 的相关文章

  • Android Studio如何添加工程(project)为library(针对非gradle)

    这篇文章还是针对非gradle build的工程 gradle build有一些差别 在Eclipse要引用别的工程为本工程的library很简单 但是在Android Studio还是稍稍有点小复杂的 那如何引用别的工程为本工程的libr
  • Kotlin如何提供与Java的100%互操作性?

    Kotlin与Java可以100 互操作 当您在每篇博客文章 社区话题或YouTube上首次搜索有关Kotlin的信息时 如果该话题是关于Kotlin的 那么这个词肯定在每个人的名单上都表明Kotlin可与Java 100 互操作 让我们看
  • 11个优秀的Android开发开源项目

    一 一个类似微信的时光轴效果 项目地址 https github com ljtyzhr TimeLine 二 安卓选择器类库 包括日期 时间 单项 双项选择器 城市地址选择器 项目地址 https github com gzu liyuj
  • HackPorts – Mac OS X 渗透测试框架与工具

    HackPorts是一个OS X 下的一个渗透框架 HackPorts是一个 超级工程 充分利用现有的代码移植工作 安全专业人员现在可以使用数以百计的渗透工具在Mac系统中 而不需要虚拟机 工具列表 0trace 3proxy Air Au
  • 基于linux的调试技术

    虽然使用printk函数可以很方便的将消息写入日志文件或者控制台 但是大量使用printk函数频繁的操作日志文件或者控制台文件会严重影响到linux驱动的开发性能 因此 这就需要linux驱动在开发阶段使用printk函数输出消息 在正式发
  • 惊呆了!女儿拿着小天才电话手表,问我Android启动流程!

    首先 new一个女儿 var mDdaughter new 女儿 6岁 漂亮可爱 健康乖巧 最喜欢玩小天才电话手表和她的爸爸 好了 女儿有了 有一天 女儿问我 爸爸爸爸 你说我玩的这个小天才电话手表怎么这么厉害 随便点一下这个小图片 这个应
  • 移动开发!如何快速的开发一个完整的直播app,架构师必备技能

    金九银十过后各大网络平台都是各种面经分享 包括已收offer 或面试失败的都有 相信大部分人都拿到了自己心仪的大厂offer 不过也有没有少数没能进到自己内心向往的大厂而懊恼的 那么到底如何才能进大厂 该准备些什么才能进大厂 此时字节总监有
  • Java JWT: JSON Web Token

    Java JWT JSON Web Token for Java and Android JJWT aims to be the easiest to use and understand library for creating and
  • mongodb如何实现数组对象求和

    原本地址 mongodb如何实现数组对象求和 mongodb在计算集合数组值时候 我们通常会想到使用 group与 sum 但是如果是数组里面多个json对象 并且还需要根据条件过滤多个对象的内容该如何处理 现在让我们来实现它 假设mong
  • Lottie动画概述,文末有彩蛋

    原生的动画效果有时候写起来会非常的复杂 要考虑到很多兼容和效果 Lottie动画专门为了解决这种烦恼而产生的 注 不仅是Lottie可以做到 另外一种库也可以做到将动画分成一帧一帧展示 它就是 android gif drawable 库
  • 深入理解 Flutter 图片加载原理

    前言 随着Flutter稳定版本逐步迭代更新 京东APP内部的Flutter业务也日益增多 Flutter开发为我们提供了高效的开发环境 优秀的跨平台适配 丰富的功能组件及动画 接近原生的交互体验 但随之也带来了一些OOM问题 通过线上监控
  • Android declare-styleable:自定义控件的属性(attr.xml,TypedArray)的使用

    android 自定义属性类型的使用 转自 http www cnblogs com ufocdy archive 2011 05 27 2060221 html 做Android布局是件很享受的事 这得益于他良好的xml方式 使用xml可
  • IOS高访新浪微博界面(讲解如何自定义UITableViewCell,处理@#链接 特殊字符)

    在开发过程中 有好多应用都会嵌入新浪微博的界面 今天整理一下代码 首先看界面效果图 Demo下载地址 http download csdn net detail rhljiayou 6760745 思路 首先放一个UITableView 自
  • iOS逆向工程之App脱壳

    本篇博客以微信为例 给微信脱壳 砸壳 在iOS逆向工程中是经常做的一件事情 因为从AppStore直接下载安装的App是加壳的 其实就是经过加密的 这个 砸壳 的过程就是一个解密的过程 未砸壳的App是无法在Class dump Hoppe
  • Android进阶2之 阴影制作(Shadow)

    阴影制作 包括各种形状 矩形 圆形等等 以及文字等等都能设置阴影 阴影制作是什么原理呢 其实很简单 你需要设置阴影的东西被看作一个主层 然后在主层下面画一个阴影层 阴影制作涉及到一个重要函数 public void setShadowLay
  • 零基础入门 HTML 的 8 分钟极简教程

    在今天 前端工程师已经成为研发体系中的重要岗位之一 可是与此相对的是 极少大学的计算机专业愿意开设前端课 大部分前端工程师的知识 也都是在实践和工作中不断学习的 最近收到很多同学的后台留言 说希望多推出一些前端方向的教程 今天我们就带来一个
  • APK加壳原理简述

    先把核心原理记录一下 代码随后再补 PRE dex文件结构知识和加壳原理 先看下dex文件的基本结构 对于加壳主要关注3个关键字 1 checksum 文件校验码 使用alder32算法 校验文件除了maigc和checksum外余下的所有
  • ios -Unity3D的EasyAR集成到已经有项目中。

    近期 在做AR这一块 用EasyAR集成到iOS端 由于现在到项目已经上线 下一版本要做一个AR功能 于是迫于需求需要 自己研究和翻阅读好多集成到资料 通过整理分出几个重要到模块 其中在这里指出Xcode9版本确实好坑 建议弃坑 该用稍微好
  • Linux宝塔面板命令大全,快速学会

    cd www server panel python tools py panel 123456 查看宝塔日志 cat tmp panelBoot pl 查看软件安装日志 cat tmp panelExec log 站点配置文件位置 www
  • OpenHarmony沙箱文件

    一 前言 1 前景提要 DevEcoStudio版本 DevEco Studio 3 1 Release SDK版本 3 2 2 5 API版本 9 2 概念 在openharmony文件管理模块中 按文件所有者分类分为应用文件和用户文件和

随机推荐

  • 扫码支付终结刷脸支付强势掘起

    手机支付将会終结 新的支付方式掘起 新的支付方式对很多人还是很陌生的 这就要很好的推广和布置 现在推出了二代的蜻蜓刷脸设备 向商户销售出了舒缓的二代蜻蜓刷脸支付设备 超市 快餐厅 自动贩卖机都已经实现商业直播 相信很快在每个城市 都会发现这
  • 快速排序详解

    近些天来 由于需要找工作 特将数据机构与算法中的快速排序温习总结了一下 希望对于大家学习有所帮助 首先 快速排序的基本思想是基于分治的思想 是冒泡排序的改进型 首先在数组中选择一个基准点 该基准点的选取可能影响快速排序的效率 后面讲解选取的
  • Git提交代码的两种方式

    一 Git Bash提交方式 在电脑桌面鼠标右键点击一下 然后点击Git Bash Here 开始输入命令 1 首次提交 先输入github gitlab等的用户名和邮箱 git命令 git config global user name
  • 【Altium Designer21】使用小技巧

    1 如何取消原理图的网格以及表头如下图 在Properties Visible Grid可以显示 隐藏网格 Title Block勾选上即显示表头 取消勾选即隐藏表头 图1 图2 图3 2 翻转的快捷键 空格 为90翻转 X 为水平翻转 Y
  • Eclipse 启动异常 找不到Java环境(A Java Runtime Environment....)

    点击启动Eclipse弹出异常消息 解决步骤 1 打开eclipse所在文件夹 2 用记事本打开配置文件 即下图的文件 3 找到java所在文件夹 4 复制路径并粘贴到记事本文件中 5 保存并重启Eclipse 大功告成
  • [算法]力扣刷题-动态规划 - 不同路径

    目录 题目 思路 编码 分析 修改 优化 题目 一个机器人位于一个 m x n 网格的左上角 起始点在下图中标记为 Start 机器人每次只能向下或者向右移动一步 机器人试图达到网格的右下角 在下图中标记为 Finish 问总共有多少条不同
  • Junit的基本使用(详解)

    什么是Junit Junit是xUnit的一个子集 在c paython java语言中测试框架的名字都不相同 xUnit是一套基于测试驱动开发的测试框架 其中的断言机制 将程序预期的结果与程序运行的最终结果进行比对 确保对结果的可预知性
  • Java代码质量检查工具及使用案例

    前言 在现在的软件开发中 由于软件的复杂度越来越高 业务也覆盖很广 各个业务模块业务错综复杂 这样就需要我们需要团队开发 在我们团队中开发人员的经验 代码风格样式都不一致 以及缺乏统一的标准 从而导致我们的整个项目的的代码难以阅读 不便于后
  • 顺序表实现图书管理系统增删改查

    顺序表学习 这个程序是用于学习数据结构而参考数据结构C语言第二版的教材实现的一个简易的图书管理系统 逻辑结构 顺序表 线性表的顺序存储又称作顺序表 由一组地址连续的存储单元依次存储线性表的数据元素 从而使得逻辑上相邻的两个元素在物理位置上也
  • 浅谈中断挂起与中断标志的区别

    中断挂起 如果中断发生时 正在处理同级或高优先级异常 或者被掩蔽 则中断不能立即得到响应 此时中断被悬起 悬挂意味着等待而不是舍去 当优先级高的或者同等级先发生的中断完成后 被挂起的中断才会执行 中断的悬起状态可以通过 中断设置悬起寄存器
  • STM32学习之ADC(模拟数字转换器)

    目录 ADC的定义及其类型 ADC 单通道独立规则模式 对于该模式的理解 通道及ADC分配 时钟配置 GPIO配置 ADC模式配置 校准 读取ADC 代码 野火的开源代码 由于大二学生一枚 水平有限 文中自己的理解难免出错 恳请道友发现后能
  • 【面试题】封装/继承/多态

    面向对象 C语言是面向过程的 关注的是过程 分析出求解问题的步骤 通过函数调用逐步解决问题 C 是基于面向对象的 关注的是对象 将一件事情拆分成不同对象 靠对象之间的交互完成 面向对象程序设计 Object oriented program
  • 算法帝国:华尔街交易怪兽的核武器缔造史

    这是一段通俗的读物 更是一段算法交易的历史钩沉 华尔街的每个角落逐渐被算法所侵蚀 思考者 依然还是拖着额头 但却不得不接受未来的现实 1980年华尔街的黑客生涯 天时地利 20世纪70年代末期 算法开始进入人们的工作 这一趋势席卷了世界各地
  • 小程序WXML,WXSS与原生HTML,CSS,JS之间的区别

    一 WXML 的概念以及和 HTML 之间的区别 1 什么是 WXML WXML WeiXin Markup Language 是框架设计的一套标签语言 组件 用来构建小程序页面的结构 其作用类似于网页开发中的 HTML 2 WXML 和
  • 项目上线后首次加载慢的解决方案

    1 使用路由懒加载 开发时尽量使用路由懒加载 component resolve gt require 放入需要加载的路由地址 resolve 2 使用gzip压缩 最高效 至少压缩一倍 npm install save dev compr
  • Open3D 点云快速欧式聚类(python详细过程版)

    目录 一 算法原理 1 论文概述 2 实现流程 3 参考文献 二 代码实现 三 结果展示 四 实验数据 一 算法原理 1 论文概述 从点云数据进行分割在许多应用中都是必不可少的 例如遥感 移动机器人或自动驾驶汽车 然而 三维距离传感器捕获的
  • 【论文笔记05】在智能合约中执行联合学习过程

    原文作者 A R Short H C Leligou and E Theocharis 原文标题 Execution of a Federated Learning process within a smart contract 原文链接
  • 一个带有楼中楼的评论系统数据库设置思路

    前言 有个需求 需要实现百度贴吧那样能评论帖子中某一楼的评论里的评论 分析 说起来有点拗口 其实这个评论系统分为4个部分 主题 楼主发布的帖子 直接返回楼主的评论 从帖 直接回复2的评论 直接回复3的评论 数据库 从上面的分析 我把数据库分
  • idea linux ssh乱码,idea--Preferences

    Font Font Monaco Size 16 Line spacing 1 3 Appearance Theme Darcula 勾选Use dark window headers 第三方主题 点击选择该主题 点击下载主题 下载文件是一
  • android webview 全屏100%显示图片

    这里引用 第三方类库 implementation org jsoup jsoup 1 10 2 定义工具类 HtmlUtils import org jsoup Jsoup import org jsoup nodes Document