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>
也就没问题了。
网友评论