android---(WebView)
2015-10-31 11:02
253 查看
public class MainActivity extends AppCompatActivity { private WebView webView; private Handler handler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView) findViewById(R.id.webView); handler = new Handler(); //webView设置对象 WebSettings settings = webView.getSettings(); //让 webView 支持 javaScript settings.setJavaScriptEnabled(true); //支持缩放 settings.setSupportZoom(true); settings.setBuiltInZoomControls(true); //在内部显示滚动条 webView.setScrollBarStyle(WebView.SCROLLBARS_INSIDE_OVERLAY); //可能打开虚拟键盘 webView.requestFocus(); //当点击页面连接时,在当前的webView 中显示 webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); //处理标题,图标等 webView.setWebChromeClient(new WebChromeClient() { @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); } }); //调用js webView.addJavascriptInterface(new MyObject(), "demo"); //demo:为别名 //加载互联网 网页 // webView.loadUrl("http://www.baidu.com"); //加载本地网页 assets文件夹下的 webView.loadUrl("file:///android_asset/index.html"); } //与js交互 public class MyObject { //调用 javascript 接口注解 @JavascriptInterface public void clickOnAndroid() { //线程将加载到对列中 handler.post(new Runnable() { @Override public void run() { webView.loadUrl("javascript:myfunc()");//调用javascript 的方法,这个方法在内置网页中 } }); } } //设置回退键 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) { webView.goBack();//返回上一页 } return super.onKeyDown(keyCode, event); } } //assets文件夹下的index.html <html> <head> <title>hello world</title> </head> <script lang="javascript"> function myfunc(){ document.getElementById("imagId").src="b.jpg"; } </script> <body> <!--调用anddroid下的代码--> <a onclick="window.demo.clickOnAndroid()"> <img src="a.jpg" id="imagId"/> </a> </body> </html>
相关文章推荐
- 【Android】YUV使用总结 —— Android常用的几种格式:NV21/NV12/YV12/YUV420P的区别
- xcode集成Vungle IOS3.2.0版本视频广告的坑
- 死锁 android ANR
- Android-Universal-Image-Loader的使用
- Android中使用Handler造成内存泄露
- 关于手机端浏览器显示兼容
- Android studio 导入github上的源码库
- Cocos2d入门--3--向量的应用
- Android 实现在线程中联网
- .Net4.5的Async和Await以及在Unity3D中进行模拟
- 安卓应用App发布至各大平台汇总
- Android有效解决加载大图片时内存溢出的问题
- ios学习笔记(二)基础控件
- ios学习笔记(二)基础控件
- TouchSwipe在Android设备上的pageX和PageY为0的问题
- 【FastDev4Android框架开发】AndroidAnnnotations注入框架使用之第三方框架集成OrmLite(十五)
- Android的BUG(四) - Android app的卡死问题
- Eclipse Android 代码自动提示功能
- Android的BUG(三) - 广为人知的诟病:频繁重启问题
- Android的BUG(二) - SurfaceTexture中的野指针