Android中WebView的使用
来源:互联网 发布:淘宝 男装 原单 编辑:程序博客网 时间:2024/05/20 23:05
一,功能介绍
Webview实现android简单的浏览器实例代码
实现WebView的显示网页,并实现返回,下一步,刷新,主页,退出功能
二,示例代码
代码备注很清楚。
需要在manifest里面添加网络连接的权限。<uses-permission android:name="android.permission.INTERNET"></uses-permission>
WebViewActivity代码如下:
public class WebViewActivity extends AppCompatActivity { @BindView(R.id.web)//黄油刀的find,ID WebView webView; @BindView(R.id.pb) ProgressBar progressBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_web_view); ButterKnife.bind(this);//绑定黄油刀 webView.loadUrl("http://www.baidu.com"); // 启用支持javascript WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); // web加载页面优先使用缓存加载 settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); webView.setWebViewClient(new WebViewClient(){ // 覆盖webView默认通过系统或者第三方浏览器打开网页的行为 // 如果为false调用系统或者第三方浏览器打开网页的行为 @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { view.loadUrl("http://www.baidu.com"); return true; } }); //进度条的监听 webView.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) {//这里的newProgress是进度条的百分比值 progressBar.setProgress(newProgress); if (newProgress==0){ progressBar.setVisibility(View.VISIBLE); }else if(newProgress==100){ progressBar.setVisibility(View.GONE); } } }); } @OnClick(R.id.back)//相当于监听 public void back(){//返回 if (webView.canGoBack()){//判断是否返回到最后一个页面 webView.goBack();//返回 }else { finish(); } } @OnClick(R.id.next) public void next(){//下一页 if (webView.canGoForward()) { webView.goForward();//下一页 } } @OnClick(R.id.flush) public void flush(){ webView.reload();//刷新 } @OnClick(R.id.home) public void home(){//主页 webView.loadUrl("http://www.baidu.com"); } @OnClick(R.id.exit) public void exit(){//退出 finish();//退出 } @Override public boolean onKeyDown(int keyCode, KeyEvent event) {//改变物理返回键的逻辑 if (keyCode==event.KEYCODE_BACK){//判断按的是否是返回键 if (webView.canGoBack()){//判断是否返回到最后一个页面 webView.goBack();//返回 return true; }else { finish(); } } return super.onKeyDown(keyCode, event); }}
activity_web_view布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_web_view" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="readgroup.zhuoxin.com.myitems.WebView.WebViewActivity"> <ProgressBar android:id="@+id/pb" android:layout_width="match_parent" android:layout_height="10dp" android:max="100" style="?android:attr/progressBarStyleHorizontal"<!--设置ProgressBar为横向--> android:progress="0" android:background="@null" android:progressDrawable="@drawable/webview" /><!--背景颜色--> <WebView android:id="@+id/web" android:layout_weight="1" android:layout_width="match_parent" android:layout_height="wrap_content"></WebView> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/back" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="返回" /> <Button android:id="@+id/next" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="下一页" /> <Button android:id="@+id/flush" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="刷新" /> <Button android:id="@+id/home" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="主页" /> <Button android:id="@+id/exit" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="退出" /> </LinearLayout></LinearLayout>
ProgressBar设置背景,webview代码:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- background --> <item android:id="@android:id/background"> <shape> <corners android:radius="3dp"></corners><!--圆角--> <solid android:color="@color/colorsolid"></solid><!--背景色--> </shape> </item> <!-- progress --> <item android:id="@android:id/progress"> <clip> <shape> <corners android:radius="3dp"></corners><!--圆角--> <solid android:color="@color/brek"></solid><!--背景色--> </shape> </clip> </item></layer-list>
三,效果图
如遇有错的地方,希望博友们多多指出!
0 0
- Android中webview的使用
- android 中webView的使用
- Android中webview的使用
- Android中WebView的使用
- Android 中WebView的使用
- Android中webview的使用
- Android中WebView的使用
- android中webview的使用
- android中WebView 的使用
- Android中webview的使用
- Android中 "WebView"的使用
- Android中WebView的使用
- Android中WebView的使用
- Android中WebView的使用
- Android中webview的使用
- Android中WebView的使用
- Android中webView的使用
- Android中WebView的使用
- 第十六周-学生信息排序
- mysql悲观锁总结和实践
- 设配问题
- Java设计模式(5)创建型:原型模式
- 树状数组详解
- Android中WebView的使用
- 分页
- STL--stack
- ueditor编辑器与springmvc整合使用
- selenium之 关闭窗口close与quit
- php实现页面静态化(纯静态&&伪静态)
- Java查找算法
- 从追MM谈Java的23种设计模式
- JQuery实现置顶、置底、向上、向下、取消排序功能