WebView
来源:互联网 发布:gta5捏脸数据女萌妹 编辑:程序博客网 时间:2024/04/27 19:46
package com.example.android_09_webview;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.KeyEvent;
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;
import android.widget.Toast;
@SuppressLint(“ShowToast”)
public class MainActivity extends Activity {
private WebView webView;@SuppressLint("SetJavaScriptEnabled")@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView) findViewById(R.id.web_view); // 设置webview状态信息 WebSettings webSettings = webView.getSettings(); // 设置webview是否可以支持js webSettings.setJavaScriptEnabled(true); // 设置web自带的放缩按钮 webSettings.setBuiltInZoomControls(true); // 设置支持变焦 webSettings.setSupportZoom(true); // 加载界面方法 SetWebView();}// 按钮点击事件public void WebView(View v) { // 设置访问路径 String url = "http://www.sohu.com/";
// String url = “file:///android_asset/jstest.html”;
webView.loadUrl(url);
// 设置浏览器的处理类,主要处理js界面
webView.setWebChromeClient(new WebChromeClient() {
// 返回true,客户端处理警告对话框
@Override
public boolean onJsAlert(android.webkit.WebView view, String url,
String message, final JsResult result) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, “” + message, 1).show();
AlertDialog.Builder builder = new Builder(MainActivity.this);
builder.setMessage(message);
builder.setPositiveButton(“取消”, new OnClickListener() {
@Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub result.cancel(); } }); builder.setNegativeButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub result.confirm(); } }); builder.show(); return true; } // js的确认框 @Override public boolean onJsConfirm(android.webkit.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(android.webkit.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() { // TODO Auto-generated method stub webView.setWebViewClient(new WebViewClient() { @Override // 页面开始加载方法 public void onPageStarted(WebView view, String url, Bitmap favicon) { // TODO Auto-generated method stub super.onPageStarted(view, url, favicon); System.out.println("页面开始加载" + url); } @Override // 页面完成加载 public void onPageFinished(WebView view, String url) { // TODO Auto-generated method stub super.onPageFinished(view, url); System.out.println("页面已经完成加载" + url); } @Override // 返回false,当前url交给当前webView处理 public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub return false; } });}// 设置监听返回键的方法long exitTime;@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub // 如果webview可以返回上一节就执行 if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) { webView.goBack(); return true; } //延时退出程序 if(keyCode == KeyEvent.KEYCODE_BACK){ if((System.currentTimeMillis()-exitTime)>2000){ Toast.makeText(MainActivity.this, "再按一次退出程序", 1).show(); exitTime = System.currentTimeMillis(); }else{ System.exit(0); } return true; } return super.onKeyDown(keyCode, event);};
}
<WebView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/web_view" android:layout_below="@+id/btn_web"/>
- WebView
- WebView
- WebView
- webView
- webView
- webview
- webview
- WebView
- webview
- webview
- webview
- WebView
- webView
- webview
- webView
- webview
- WebView
- WebView
- GEF 和 eclipse 视图对象
- [jvm解析系列][十一]字节码执行之栈帧,你的字节码是如何运行的?
- Android InputMethodManager输入法简介
- httpUrl请求
- JFace的本地化及安装JFace语言包/JFace对话框/应用程序窗口/向导式对话框
- WebView
- K-means算法(基于MovieLens数据分别对user和movie聚类)
- 第十六周实践项目之阅读程序————5
- HttpURLConnection请求数据
- WEB_VIEW
- Xml的PULL解析方式
- 插件系统框架分析
- Pull解析
- CCNA配置IP和口令密码