package cn.jackson.webviewdemo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView= (WebView) findViewById(R.id.webView);
webView.loadUrl("http://www.baidu.com");
WebSettings setTtings= webView.getSettings();
//设置可以加载JavaScript的代码
setTtings.setJavaScriptEnabled(true);
//优先加载缓存
setTtings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
//不加载缓存
setTtings.setCacheMode(WebSettings.LOAD_NO_CACHE);
//是否支持缩放,true是支持 false是不支持
setTtings.setSupportZoom(true);
//这个方法使用后,网页就会在自己浏览器中显示出来
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
//super.onProgressChanged(view, newProgress);
if(newProgress==100){
//数据加载完毕
//这里面我们可以将进度条或者对话框dismiss掉
}else{
//数据正在加载
//这里面我们将进度条或者对话框show出来
}
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//判断是否点击了BACK键
if(keyCode==KeyEvent.KEYCODE_BACK){
//判断是否可以返回
if(webView.canGoBack()){
webView.goBack();
return true;
}else{
//如果已经到顶端了,我们可以将界面摧毁掉
MainActivity.this.finish();
}
}
return super.onKeyDown(keyCode, event);
}
}
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView= (WebView) findViewById(R.id.webView);
webView.loadUrl("http://www.baidu.com");
WebSettings setTtings= webView.getSettings();
//设置可以加载JavaScript的代码
setTtings.setJavaScriptEnabled(true);
//优先加载缓存
setTtings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
//不加载缓存
setTtings.setCacheMode(WebSettings.LOAD_NO_CACHE);
//是否支持缩放,true是支持 false是不支持
setTtings.setSupportZoom(true);
//这个方法使用后,网页就会在自己浏览器中显示出来
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
//super.onProgressChanged(view, newProgress);
if(newProgress==100){
//数据加载完毕
//这里面我们可以将进度条或者对话框dismiss掉
}else{
//数据正在加载
//这里面我们将进度条或者对话框show出来
}
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//判断是否点击了BACK键
if(keyCode==KeyEvent.KEYCODE_BACK){
//判断是否可以返回
if(webView.canGoBack()){
webView.goBack();
return true;
}else{
//如果已经到顶端了,我们可以将界面摧毁掉
MainActivity.this.finish();
}
}
return super.onKeyDown(keyCode, event);
}
}