zoukankan      html  css  js  c++  java
  • html5在android使用的技巧和问题

    一、特效按钮的进展
    之前的思路:css设置div的样式,在js中实现div对事件的响应,并改变div的样式,以实现动画效果。
    1:以动画的形式
      var bb = document.getElementById("element");
      bb.onclick=function(){
       bb.className="list-item-download-inner2";//改变类名,改变CSS样式
       var t = setTimeout("init()",500);  //以动画的方式,间隔0.5秒后将类名还原
      }
    这种方式只是一种相似的模拟,而且只有当手指离开按钮的时候这个方法才会执行。 而我们希望的效果是像本地代码中那样,手指点中一个效果,离开又一个效果。
     
    2:在html5中有关于触摸屏的事件:touchstart, touchend, touchmove于是我们引入jquery.js,代码改为如下:
    $('#element').bind("touchstart",function(e){
      e.className="list-item-download-inner2";//手指点中时改变类名,
    });
    $('#element').bind("touchend",function(e){
      e.className='list-item-download-inner';  //手指离开时,恢复类名,
    });
    这样,在网页中实现的效果,和在本地代码中实现的效果就一样了。算是一个小技巧,记下来。
     
    public void loadData (String data, String mimeType, String encoding)
    则会出现html代码中图片路径不对导致不能正常显示图片(通常是一个白色的固定大小的框,或者没有)
    当把路径改为绝对路径加上file://都还无法解决 终于,在网上查资料的时候发现了这个函数,正好解决这个问题 public void loadDataWithBaseURL (String baseUrl, String data, String mimeType, String encoding,String historyUrl) baseUrl是图片的目录,在html代码中就写关于此目录的相对路径就可以了,哇嘎嘎!~
    附带代码解释: String htmlPath = "file:///mnt/sdcard/test/11.html";
    String baseUrl = "file:///mnt/sdcard/test/";
    webView.loadDataWithBaseURL(baseUrl, data, "text/html", "utf-8", null);
    webView.loadUrl(htmlPath);
    则两个调用都可以显示正常的html网页了,并且前一种可以对针对不同分辨率大小的屏幕做缩放了!! 加载assets文件中的html如下:
    mWebView.loadUrl("file:///android_asset/demo.html");
  • 相关阅读:
    promise异步获取数据
    解决浏览器保存密码自动填充问题
    函数柯里化
    JS高级函数的用法
    Object.assign替代写法
    tree-shaking
    假如参数是对象或者函数,如何处理
    宏任务与微任务 event-loop
    Linux常用命令大全
    Image Processing
  • 原文地址:https://www.cnblogs.com/crazywenza/p/2938864.html
Copyright © 2011-2022 走看看