WebView的简单使用
来源:互联网 发布:手机淘宝帐号注册流程 编辑:程序博客网 时间:2024/05/21 19:39
一、WebView的简单使用
mWebView = (WebView) findViewById(R.id.web_view); //获取WebSettings对象,进行简单的设置 WebSettings _webSetting = mWebView.getSettings(); _webSetting.setJavaScriptEnabled(true); _webSetting.setBuiltInZoomControls(true); _webSetting.setSupportZoom(true); mWebView.requestFocus(); mWebView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY); //加载html的样式 mWebView.loadData("<html><title>Millet</title><body>hello webapp!</body></html>", "text/html", "utf-8"); //加载url mWebView.loadUrl(mUrl);
二、WebView的两个常用的set方法
//希望点击的链接在当前的browser中进行响应,必须覆盖WebViewClient对象 mWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); //处理图标,按钮等事件,必须覆盖WebChromeClient对象 mWebView.setWebChromeClient(new WebChromeClient() { @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); } });
三、WebView的回退事件
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { //设置回退键,判断点击的是回退键,并且WebView可以回退 if (keyCode == KeyEvent.KEYCODE_BACK && mWebView.canGoBack()) { mWebView.goBack(); return true; } return super.onKeyDown(keyCode, event); }
四、WebView和JS的交互
//添加JavaScript的接口,第一个参数是Object对象,一般为html中想要调用WebView中的方法,第二个为别名 mWebView.addJavascriptInterface(new MyJavascriptInterface(), "Millet");
/** * 想通过html文件中对WebView的一些操作 */ public class MyJavascriptInterface { @JavascriptInterface public void clickOnAndroid() { mHandler.post(new Runnable() { @Override public void run() { //Android中调用html中javascript的onClick()方法 mWebView.loadUrl("javascript:onClick()"); Toast.makeText(WebViewActivity.this, "点击了图片", Toast.LENGTH_SHORT).show(); } }); } }
index.html文件
<html><head> <title>my first WebApp</title> <script language="JavaScript"> function onClick(){ document.getElementById("imageId").src ="card_flip_back_image1.jpg"; } </script></head><body><!--html中调用Android中的方法--><a onclick="window.Millet.clickOnAndroid()"> <img src="card_flip_front_image1.jpg" id="imageId" width="100%" height="100%"></a></body></html>
四、全部代码
java代码:
public class WebViewActivity extends BaseActivity { protected WebView mWebView; protected String mUrl = "https://www.baidu.com"; protected Handler mHandler = new Handler(); @Override public void initData(Bundle savedInstanceState) { } @Override public void initView(Bundle savedInstanceState) { setContentView(R.layout.activity_web_view); mWebView = (WebView) findViewById(R.id.web_view); //获取WebSettings对象,进行简单的设置 WebSettings _webSetting = mWebView.getSettings(); _webSetting.setJavaScriptEnabled(true); _webSetting.setBuiltInZoomControls(true); _webSetting.setSupportZoom(true); mWebView.requestFocus(); mWebView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY); //希望点击的链接在当前的browser中进行响应,必须覆盖WebViewClient对象 mWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); //处理图标,按钮等事件,必须覆盖WebChromeClient对象 mWebView.setWebChromeClient(new WebChromeClient() { @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); } }); //加载html的样式// mWebView.loadData("<html><title>Millet</title><body>hello webapp!</body></html>", "text/html", "utf-8"); //加载url// mWebView.loadUrl(mUrl); //添加JavaScript的接口,第一个参数是Object对象,一般为html中想要调用WebView中的方法,第二个为别名 mWebView.addJavascriptInterface(new MyJavascriptInterface(), "Millet"); mWebView.loadUrl("file:///android_asset/index.html"); } @Override public void loadData(Bundle savedInstanceState) { } /** * 想通过html文件中对WebView的一些操作 */ public class MyJavascriptInterface { @JavascriptInterface public void clickOnAndroid() { mHandler.post(new Runnable() { @Override public void run() { //Android中调用html中javascript的onClick()方法 mWebView.loadUrl("javascript:onClick()"); Toast.makeText(WebViewActivity.this, "点击了图片", Toast.LENGTH_SHORT).show(); } }); } } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { //设置回退键,判断点击的是回退键,并且WebView可以回退 if (keyCode == KeyEvent.KEYCODE_BACK && mWebView.canGoBack()) { mWebView.goBack(); return true; } return super.onKeyDown(keyCode, event); }}
index.html代码:
<html><head> <title>my first WebApp</title> <script language="JavaScript"> function onClick(){ document.getElementById("imageId").src ="card_flip_back_image1.jpg"; } </script></head><body><!--html中调用Android中的方法--><a onclick="window.Millet.clickOnAndroid()"> <img src="card_flip_front_image1.jpg" id="imageId" width="100%" height="100%"></a></body></html>
0 0
- 简单webview的使用
- 简单WebView的使用
- WebView的简单使用
- WebView简单的使用
- WebView的简单使用
- WebView的简单使用
- WebView的简单使用
- WebView的简单使用
- WebView的简单使用
- WebView的简单使用
- webview的简单使用
- WebView的简单使用
- WebView的简单使用
- WebView的简单使用
- WebView的简单使用
- WebView的简单使用
- WebView的简单使用
- WebView的简单使用
- 嵌入式的童年-第19课:安装Linux系统到开发板
- pod报错
- bzoj4009 [HNOI2015]接水果
- 如何用两个栈实现队列的功能
- 缓存,缓存系统
- WebView的简单使用
- gcc/g++ 实战之编译的四个过程
- I/O多路复用技术(multiplexing)
- Java.lang.String API笔记
- 《嫌疑人X的献身》读书笔记
- test
- 常见的系统动画
- 文本标签提取算法
- 数据挖掘算法二——svm