要让浏览器实现无图模式也是一件比较简单的事情。之前的博客也有提到WebSetting的一些方法,用来加载js,图片等的一些方法,无图模式就是利用该方法来进行设置的。
这时候就需要用到一个中间变量。通过按钮的监听事件来对该中间变量进行监听。然后用SharePreference来对该中间变量的值保存到本地的配置文件中。
代码如下
//从本地配置文件中取出MainBrowser.noPictureFlag该键的值,如果不存在则默认返回false,即表示可以允许加载图片
webSettings.setBlockNetworkImage(remember.getBoolean("MainBrowser.noPictureFlag", false));
//通过监听按钮,改变中间变量的值
public void onClick(View v) {
// 获取websettings的实例
webSettings = MainBrowser.show.getSettings();
// 通过从本地配置文件中获取“MainBrowser.noPictureFlag”该键的值,如果没有,默认返回false,
if(remember.getBoolean("MainBrowser.noPictureFlag", false)){
// 设置为有图模式
MainBrowser.noPictureFlag = false;
webSettings.setBlockNetworkImage(MainBrowser.noPictureFlag);
// 把更改后的无图模式的中间变量的保存到本地配置文件中
remember.edit().putBoolean("MainBrowser.noPictureFlag", MainBrowser.noPictureFlag).commit();
}else{
// 设置为无图模式
MainBrowser.noPictureFlag = true;
webSettings.setBlockNetworkImage(MainBrowser.noPictureFlag);
remember.edit().putBoolean("MainBrowser.noPictureFlag", MainBrowser.noPictureFlag).commit();
}