WebView简单的一个小demo,在此记录一下布局文件就不贴了,应该都知道,就放置一个WebView控件即可。
Activity 内容:
package org.tensorflow.demo.activity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import org.tensorflow.demo.R;
public class WebViewActivity extends BaseActivity {
private WebView browser;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_view);
initView();
}
private void initView() {
browser= (WebView) findViewById(R.id.to_web);
browser.loadUrl("http://baike.baidu.com/item/玫瑰");
//访问的页面中如果有Javascript,WebView就必须设置支持Javascript。
WebSettings settings = browser.getSettings();
settings.setJavaScriptEnabled(true);
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
//设置可自由缩放网页
settings.setSupportZoom(true);
settings.setBuiltInZoomControls(true);
// 如果页面中链接,如果希望点击链接继续在当前browser中响应,
// 而不是新开Android的系统browser中响应该链接,必须覆盖WebView的WebViewClient对象
browser.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url){
// 重写此方法表明点击网页里面的链接还是在当前的WebView里跳转,不跳到浏览器那边
view.loadUrl(url);
return true;
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
Log.v("error",error.getErrorCode()+"");
}
});
}
//这个方法必须重写,否则会出现点击后退按钮,直接退出WebView
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// Check if the key event was the Back button and if there's history
if ((keyCode == KeyEvent.KEYCODE_BACK) && browser.canGoBack()) {
browser.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
这样一个简单浏览器就完成了,快去测试吧