安卓中自带的控件webview已经相当完善,这个控件允许我们将功能用html+javascript来实现产品功能,其基本使用方法也极为简便。
一般情况下只需要简单配置以下内容即可:
- 放置控件;
- 允许javasript代码;
- 设置要加载的url;
- 设置新链接打开方式;
- 设置好网页回退方式;
- 解决网页加载进度显示问题。
import android.support.v7.app.ActionBarActivity;
import android.view.KeyEvent;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.os.Bundle;
public class MainActivity extends ActionBarActivity {
WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_PROGRESS);
webview=new WebView(this);
setContentView(webview);
//允许javascript代码执行
webview.getSettings().setJavaScriptEnabled(true);
//加载默认页面
webview.loadUrl("http://www.llzg.cn/");
//在当前页面打开链接
webview.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
webview.loadUrl(url);
return true;
}
});
//使webview可以更新进度条
webview.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
MainActivity.this.setProgress(newProgress*100);
}
});
}
//使后退键可以达到网页回退功能,而不是关闭activity
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK&&webview.canGoBack()){
webview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}