Android控件:Webview的⼀些知识点
WebView 加载⽹页,当点击返回键的时,会显⽰上⼀个页⾯,并刷新。
同时可以对返回上⼀个页⾯进⾏⼲预,就是⽤到了缓存。
webview加载⽹页的⼏个模式,即websetting中设置的加载模式。websetting.setCacheMode( int  mode)。
LOAD_CACHE_ELSE_NETWORK:只要本地有,⽆论是否过期,或者no-cache,都使⽤缓存中的数据。
LOAD_CACHE_ONLY:只加载缓存数据,如果没有缓存数据,就出现加载失败;
LOAD_DEFAULT:默认加载⽅式,根据cache-control决定是否从⽹络上取数据;
LOAD_NO_CACHE:不使⽤缓存,只从⽹络获取数据;
LOAD_CACHE_NORMAL: API level 17中已经废弃, 从API level 11开始作⽤同LOAD_DEFAULT模式
新的需求:(点击返回键,返回到上⼀个点击的页⾯但是不刷新,点击新的页⾯进⾏刷新加载,这个需刘亦菲曾轶可
求是要求与 iOS 的浏览效果保持⼀致)
1public class WebViewActivity extends Activity{
dnf 炼金术师2
3private WebView mWebView;
4    @Override
5protected void onCreate(Bundle savedInstanceState) {
7        setContentView(R.layout.activity_webview);
8
9        mWebView = (WebView) findViewById(R.id.webview);
10
11        initWebView();
12
13        mWebView.loadUrl("www.baidu");
14    }
窦骁胸毛15
16private void initWebView() {
17        WebSettings ws = Settings();
18        ws.setJavaScriptEnabled(true);
19        mWebView.setWebViewClient(new WebViewClient(){
20            @Override
21public boolean shouldOverrideUrlLoading(WebView view, String url) {
22                Settings().setCacheMode(WebSettings.LOAD_DEFAULT);
插上科学的翅膀飞作文600字
23                view.loadUrl(url);
24return super.shouldOverrideUrlLoading(view, url);
25            }
26        });
27    }
28
29    @Override
30public boolean onKeyDown(int keyCode, KeyEvent event) {
31if(keyCode==KeyEvent.KEYCODE_BACK){
32if(mWebView.canGoBack()){
33                Settings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
34                Back();
35return true;
有什么动漫好看
36            }
37        }
38return false;
39    }
40 }
webview 的其他⼀些设置:
webSettings.setDomStorageEnabled ( boolean );//是否⽀持持久化存储,保存到本地
妈妈说人生苦短是什么歌webSettings.setJavaScriptEnabled ( boolean );//设置⽀持javascript脚本
webSettings.setSupportZoom ( boolean ) ;// 设置⽀持缩放
webSettings.setBuiltInZoomControls ( boolean );//设置是否出现缩放⼯具
webSettings.setDatabaseEnabled ( boolean );//开启database storage API 功能
webSettings.setDatabasePath(path);//设置数据库缓存路径
webSettings.setAppCacheEnabled( boolean );//设置开启application H5 Caches 功能
webSettings.setAppCachePath(path);//设置application caches 缓存⽬录
//设置webview⾃适应屏幕
webSettings.setLayoutAlgorithm ( LayoutAlgorithm.SINGLE_COLUMN ); webSettings.setLoadWithOverviewMode ( true );