android:使用webview显示网页
2016-02-21 23:39
423 查看
学到现在。。懵懵懂懂 还是先上运行结果
大家看到返回的时候要点很多次返回 。这是因为页面会有快速跳转过程 所以多按几次返回把 没办法
布局文件:
MainActivity
大家看到返回的时候要点很多次返回 。这是因为页面会有快速跳转过程 所以多按几次返回把 没办法
布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <WebView android:id="@+id/webView" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>
MainActivity
package com.example.webview; import android.os.Bundle; import android.app.Activity; import android.view.KeyEvent; import android.view.Window; import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; public class MainActivity extends Activity { private String url="http://news.qq.com/"; private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //窗口进度条 requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setContentView(R.layout.activity_main); setProgressBarIndeterminate(true); webView=(WebView) findViewById(R.id.webView); //webView加载web资源 webView.loadUrl(url); //覆盖webView默认通过系统或者第三方浏览器打开网页的行为 //如果为false调用系统或者第三方浏览器打开网页的行为 webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub //webView加载web资源 view.loadUrl(url); return true; } }); //启用支持javascript WebSettings settings=webView.getSettings(); settings.setJavaScriptEnabled(true); //web加载页面优先使用缓存加载 settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); webView.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { // TODO Auto-generated method stub setTitle("本页面已加载"+newProgress+"%"); if(newProgress==100){ closeProgressBar(); } else{ openProgressBar(newProgress); } super.onProgressChanged(view, newProgress); } }); } //打开进度条 protected void openProgressBar(int x) { // TODO Auto-generated method stub setProgressBarIndeterminateVisibility(true); setProgress(x); } //关闭进度条 protected void closeProgressBar() { // TODO Auto-generated method stub setProgressBarIndeterminateVisibility(false); } //改写物理按键 返回键的逻辑 @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{ //退出程序 finish(); } } return super.onKeyDown(keyCode, event); } }最后别忘记在AndroidManifest.xml配置获取网络的权限
相关文章推荐
- Android EventBus实战 没听过你就out了
- Android获取手机Mac地址
- Android 5.0/5.1 HOOK技术探究
- iOS设计模式之单例
- Android进阶之Service远程通信AIDL
- 《Android源码设计模式》读书笔记 (17) 第17章 中介者模式
- iOS基础之可视化编程
- swift基本语法(总结提炼版)之001常量&变量
- Swift基础语法&&入门教程_字符串,数组_字典
- swift入门语法&&基础教程
- Cocos游戏移植到Windows10之路--环境搭建
- Android学习之ListView与SimpleAdapter的使用
- 浅析 Android 的窗口
- Android适配器
- [android]常见的adb指令
- iOS基础之响应者链
- [Immutable.js] Using fromJS() to Convert Plain JavaScript Objects into Immutable Data
- MVP模式在Android开发中的应用
- [android]_[Notication的使用]
- iOS基础之触摸事件处理