使用WebView简单嵌套页面
来源:互联网 发布:php命名空间的作用 编辑:程序博客网 时间:2024/05/31 06:21
webview是一个特殊的view,用于在此view上展示一个页面。该页面的js可以与android端的java代码中的方法互调,还能实现网页前进后退,网页放大,缩小,搜索等功能。
1、webview的使用
首先在layout下创建xml文件,添加webview控件
<WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent"> </WebView>
在java代码中声明webview,url为你要访问的网址
private WebView webView;webView = (WebView) findViewById(R.id.webview);webView.loadUrl(url);//覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开 webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) {//返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器 view.loadUrl(url); return true; } });
创建WebSettings对象,监听加载过程
WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setAllowContentAccess(true); webSettings.setAppCacheEnabled(false); webSettings.setBuiltInZoomControls(false); webSettings.setUseWideViewPort(true); webSettings.setLoadWithOverviewMode(true); webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);webView.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged(WebView view, int newProgress) { // TODO Auto-generated method stub if (newProgress == 100) { Log.e("aaa", "加载完成"); } else { Log.e("aaa", "加载中"); } } });
2、复写物理返回键
//改写物理按键——返回的逻辑 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == KeyEvent.KEYCODE_BACK) { if (webView.canGoBack()) { webView.goBack();//返回上一页面 return true; } else { System.exit(0);//退出程序 } } return super.onKeyDown(keyCode, event); }
3、添加网络访问权限
<!--用于访问网络,网络定位需要上网--> <uses-permission android:name="android.permission.INTERNET"/> <!--用于获取运营商信息,用于支持提供运营商信息相关的接口--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
4、一般需要配合使用menu菜单
创建res/menu/main.xml
menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="www.csy.com.newapp.activity.MainActivity" > <item android:id="@+id/change" android:orderInCategory="100" android:showAsAction="always" android:title="切换账号"/></menu>
在java代码中声明逻辑
//重写onCreateOptionMenu(Menu menu)方法,当菜单第一次被加载时调用 @Override public boolean onCreateOptionsMenu(Menu menu) { //填充选项菜单(读取XML文件、解析、加载到Menu组件上) getMenuInflater().inflate(R.menu.main, menu); return true; } //重写OptionsItemSelected(MenuItem item)来响应菜单项(MenuItem)的点击事件(根据id来区分是哪个item) @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.change: //此处写单击菜单按钮中的逻辑 break; default: break; } return super.onOptionsItemSelected(item); }
5、WebSettings详解
http://blog.csdn.net/kevinscsdn/article/details/52241334此篇博客介绍的比较详细,一般错误都出在WebSettings设置的不全。
阅读全文
0 0
- 使用WebView简单嵌套页面
- scrollview 与 webview的嵌套使用(加载h5页面)
- webview简单加载页面
- webview 中使用css适配简单的页面
- webview 中使用css适配简单的页面
- ScrollView嵌套webview,webview跳转后页面不能置顶
- 使用WebView显示页面
- android 最简单的WebView嵌套Html
- WebView简单使用
- 简单webview的使用
- WebView 简单使用
- WebView使用简单介绍
- 简单WebView的使用
- Android webview简单使用
- WebView的简单使用
- Android WebView 简单使用
- WebView 简单使用kongleifeng
- WebView简单使用
- 强叔侃墙_NAT_smart NAT示例
- 强叔侃墙_三无组NAT
- 强叔侃墙_出口选路_策略路由_基于目的地址的IP策略路由
- 九度OJ
- python世界上最全的文件操作教程
- 使用WebView简单嵌套页面
- jbpm学习笔记
- mac
- 《Linux私房菜》读书笔记
- Builer模式链式调用
- Cordova学习笔记之入门
- SpringMVC中form标签
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- 在jsp中设置cokie