美文网首页
Android WebView滚动截屏遇到的问题

Android WebView滚动截屏遇到的问题

作者: 苍蝇的梦 | 来源:发表于2017-03-16 10:48 被阅读607次

    2017-03-14 遇到的一点小问题
    有个界面是展示的网页,需要加个按钮,让用户将页面内容保存到手机存储上。页面有点长,所以常规的保存当前View行不通,会有内容确实。网上找了下,有不少,比如这个:关于Webview的几种截屏方式
    有四种方法,前两种是整个WebView的内容,后两种是当前显示的内容。
    先判断设备是不是5.0以上的,是的话先使用WebView.enableSlowWholeDocumentDraw();关闭性能优化,然后获取Bitmap保存到手机。不过找的这个demo,少写了些代码,可能在有些手机上会有问题。
    判断文件夹是否存在,不存在先创建一个

    File file = new File(fileName);
    if (!file.exists()) {
        file.getParentFile().mkdirs();
    }
    

    图片保存完成后,发广播刷新一下

    context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + file)));
    

    加上这些测了几个机器,android.webkit.WebView能正常保存,可惜自己项目用的是X5内核的com.tencent.smtt.sdk.WebView,这几个方法,有的是全部黑,有的是当前显示的内容有,屏幕外的一篇黑,有的则是只能保存当前见到的内容。晕死,上官网论坛也只看到一个已记录的帖子反应这事。现在只能先换回系统WebView实现功能,X5的再慢慢找。先记录一下,等X5解决了再更新

    要保存的内容

    Android的Button默认英文大写
    Android Studio 开发,不知道从哪个版本开始,Button是英文的话,不管输入的是大写还是小写,默认就全部显示大写。英文用的少,方法没记住,每次用都得现查,这边记录一下。
    个别使用的,在Button控件里加上 android:textAllCaps="false"就可以了,如果是整个应用要生效,就在使用的主题style里加上 <item name="android:textAllCaps">false</item>也就没问题了。

    相关文章

      网友评论

          本文标题:Android WebView滚动截屏遇到的问题

          本文链接:https://www.haomeiwen.com/subject/wpxhnttx.html