WebView

package com.example.webview_num04;


import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.webkit.JsPromptResult;
import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;


public class MainActivity extends Activity {


protected static final String TAG = "main";
private WebView web;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
web = (WebView) findViewById(R.id.web);

//得到webview的设置对象
WebSettings settings=web.getSettings();
//设置webview支持js
settings.setJavaScriptEnabled(true);
//是否支持放缩
settings.setSupportZoom(true);
//打开自带的缩放按钮
settings.setBuiltInZoomControls(true);

setWebview();
// webView辅助chrome(浏览器)处理Javascript的对话框,网站图标,网站title;
web.setWebChromeClient(new WebChromeClient(){
@Override
// js的中弹出框,message接收弹出框显示的信息
public boolean onJsAlert(WebView view, String url, String message,
JsResult result) {
Log.i(TAG, message);
return super.onJsAlert(view, url, message, result);
}
// js的中选择框
@Override
public boolean onJsConfirm(WebView view, String url,
String message, JsResult result) {
// TODO Auto-generated method stub
return super.onJsConfirm(view, url, message, result);
}
// js的中输入框
@Override
public boolean onJsPrompt(WebView view, String url, String message,
String defaultValue, JsPromptResult result) {
// TODO Auto-generated method stub
return super.onJsPrompt(view, url, message, defaultValue, result);
}

});
}


private void setWebview() {
web.setWebViewClient(new WebViewClient() {
// 页面开始加载
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}


// 页面加载完成
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}


// 设置webview是否调用系统浏览器加载URL,返回false,代表使用webView加载
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
return false;
}


});


}


public void button(View v) {
// 设置访问地址
String url = "file:///android_asset/jstest.html";
// String url = "http://www.sohu.com";
//String url = "<html><title>1407F</title><body><table><tr><td>用户名</td><td><input type='text' name='username'/></td></tr></table></body></html>";
//web.loadUrl(url);

//web.loadDataWithBaseURL("about:blank", url, "text/html", "utf-8", null);
web.loadUrl(url);
}


@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// 给返回键做监听
if (keyCode == KeyEvent.KEYCODE_BACK && web.canGoBack()) {
// 返回前一个页面
web.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值