Android中WebView的一些简单用法

家电修理 2023-07-16 19:16www.caominkang.com电器维修

Android中WebVie的一些简单用法

一直想写一个关于 WebVie 控件的 一些简单运用,都没什么时间,这次也是挤出时间写的,里面的一些基础知识就等有时间再更新,今天就先把项目出来做一些简单介绍,过多的内容可以看我的源码,都传到github上了。

下面是项目的效果图

应用用到的是 MVP 设计模式,对这种模式还不太了解的可以先自行google一下,不然项目估计会看的晕,虽然我的代码都很简洁的。

对于MVP 可以带着一个思路看源码,那就是 activity(或其他组件)通过 xxPresenter 去拿数据,拿到数据 在 xxPresenter 再利用 xxIVie(这是一个接口)更新数据,那么activity(或其他组件)继承 xxIVie 这个接口 就可以 更新UI 了

其实 WebVie 只用到一些简单的,深入应用本篇文章会在更新!

其中

 //设置WebVie的一些缩放功能点
 ebVie.setScrollBarStyle(WebVie.SCROLLBARS_OUTSIDE_OVERLAY); 
 ebVie.setHorizontalScrollBarEnabled(false); 
 ebVie.getSettings().setSupportZoom(true); 
 //设置WebVie可触摸放大缩小
 ebVie.getSettings().setBuiltInZoomControls(true); 
 ebVie.setInitialScale(70); 
 ebVie.setHorizontalScrollbarOverlay(true); 
 //WebVie双击变大,再双击后变小,当手动放大后,双击可以恢复到原始大小
 //ebVie.getSettings().setUseWideViePort(true); 
 //提高渲染的优先级
 ebVie.getSettings().setRenderPriority(RenderPriority.HIGH);
 //允许JS执行
 ebVie.getSettings().setJavascriptEnabled(true);
 //把图片加载放在来加载渲染
 //ebVie.getSettings().setBlockNetorkImage(true); 
 //用WebVie将字符串以HTML的形式显示出来 
 //ebVie.loadDataWithbaseURL("fake://not/needed", 

zzz

, "text/html", "utf-8", ""); //在同种分辨率的情况下,屏幕密度不一样的情况下,自动适配页面:

与 native 进行交互

 mWebVie.addJavascriptInterface(ne WebAppInterface(customVie.getContext()),"Android");

 public class WebAppInterface {
 Context mContext;

 
 WebAppInterface(Context c) {
   mContext = c;
 }

 
 @JavascriptInterface
 public void shoToast(String toast) {
   // 比如点击 ebvie加载的html 片段 可以 让应用弹出一个土司
 }

这里给 ebvie 设置 夜间模式

也就往 html 页面写入 html 标签 ""

  public static String buildHtmlWithCss(String html, String[] cssUrls, boolean isNightMode) {
 StringBuilder result = ne StringBuilder();
 for (String cssUrl : cssUrls) {
   result.append(String.format(CSS_link_PATTERN, cssUrl));
 }

 if (isNightMode) {
   result.append(NIGHT_DIV_TAG_START);
 }
 result.append(html.replace(DIV_IMAGE_PLACE_HOLDER, DIV_IMAGE_PLACE_HOLDER_IGNORED));
 if (isNightMode) {
   result.append(NIGHT_DIV_TAG_END);
 }
 return result.toString();
  }

项目还得有待改进,等这段时间忙完就跟新!!!!

项目源码 github

Copyright © 2016-2025 www.caominkang.com 曹敏电脑维修网 版权所有 Power by