实现代码——WebView案例
来源:互联网 发布:python 余弦相似度 包 编辑:程序博客网 时间:2024/04/20 10:50
- MainActivityjava
- CodeActivityjava
- activity_mainxml
- activity_codexml
MainActivity.java
package com.demo.webviewdemo;import android.app.Activity;import android.app.ProgressDialog;import android.content.Intent;import android.os.Bundle;import android.view.KeyEvent;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.view.Window;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Button;public class MainActivity extends Activity { private WebView webview; private WebSettings websettings; private ProgressDialog dia_pro; private Button but_code; private Intent intent; String url = "http://m.baidu.com/from=1086k/bd_page_type=1/ssid=0/uid=0/pu=usm%400%2Csz%401320_1002%2Cta%40iphone_2_4.4_2_6.1/baiduid=9DD46FD853248EA9FFF4D0466E49E8EA/w=0_10_%E6%98%86%E4%BB%91+%E5%B0%8F%E8%AF%B4/t=iphone/l=3/tc?ref=www_iphone&lid=12112811004381059221&order=1&vit=osres&tj=www_normal_1_0_10_title&m=8&srd=1&cltj=cloud_title&dict=30&title=%E6%98%86%E4%BB%91-%E5%B0%8F%E8%AF%B4%E5%9C%A8%E7%BA%BF%E9%98%85%E8%AF%BB-%E5%87%A4%E6%AD%8C-%E5%8A%AA%E5%8A%AA%E4%B9%A6%E5%9D%8A&sec=7852&di=1d4cfe75a5eba2a0&bdenc=1&tch=124.0.289.149.2.161&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_yNZ0Cu5iJXte4viZQRAVSLnKXbTUS3bdD4PsRsYwk_a_GUe6so4g43"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /*设置标题栏*/ //requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.activity_main); //getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.activity_title); but_code= (Button) findViewById(R.id.but_code); webview = (WebView) findViewById(R.id.webView); this.setTitle("昆仑"); webview.loadUrl(url);//加载Web资源 /*使网页能在WebView中打开*/ webview.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub view.loadUrl(url); return true;//返回true时网页在WebView中打开 } }); /*启用支持JavaScript*/ websettings = webview.getSettings(); websettings.setJavaScriptEnabled(true); /*使WebView优先使用缓存加载*/ //websettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); /*制作进度条窗口判断进度*/ webview.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { // TODO Auto-generated method stub if(newProgress==100){ closeDialog(); } else { openDialog(newProgress); } } private void openDialog(int newProgress) { if(dia_pro==null){ dia_pro = new ProgressDialog(MainActivity.this); dia_pro.setTitle("正在加载"); dia_pro.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); dia_pro.setProgress(newProgress); dia_pro.show(); } else{ dia_pro.setProgress(newProgress); } } private void closeDialog() { if(dia_pro!=null && dia_pro.isShowing()){ dia_pro.dismiss(); dia_pro = null; } } }); /*按键跳到实现代码界面*/ but_code.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub intent = new Intent(MainActivity.this,CodeActivity_2.class); startActivity(intent); } }); } /*改写物理按键实现页面返回*/ @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); }}
CodeActivity.java
package com.demo.webviewdemo;import android.app.Activity;import android.app.ProgressDialog;import android.os.Bundle;import android.view.KeyEvent;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;public class CodeActivity_2 extends Activity{ private WebView webview; String url="http://m.baidu.com/"; private WebSettings websettings; private ProgressDialog dia_pro; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_code); webview = (WebView) findViewById(R.id.webView_code); webview.loadUrl(url);//加载Web资源 /*使网页能在WebView中打开*/ webview.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub view.loadUrl(url); return true; } }); /*启用支持JavaScript*/ websettings = webview.getSettings(); websettings.setJavaScriptEnabled(true); /*使WebView优先使用缓存加载*/ //websettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); /*制作进度条窗口判断进度*/ webview.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { // TODO Auto-generated method stub if(newProgress==100){ closeDialog(); } else { openDialog(newProgress); } } private void openDialog(int newProgress) { if(dia_pro==null){ dia_pro = new ProgressDialog(CodeActivity_2.this); dia_pro.setTitle("正在加载"); dia_pro.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); dia_pro.setProgress(newProgress); dia_pro.show(); } else{ dia_pro.setProgress(newProgress); } } private void closeDialog() { if(dia_pro!=null && dia_pro.isShowing()){ dia_pro.dismiss(); dia_pro = null; } } }); } /*改写物理按键实现页面返回*/ @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); }}
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/but_code" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="实现代码" /> <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" /></LinearLayout>
activity_code.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <WebView android:id="@+id/webView_code" android:layout_width="match_parent" android:layout_height="match_parent" /></LinearLayout>
0 0
- 实现代码——WebView案例
- WebView——重写WebView实现在WebView内部加载网页
- struts+hibernate+oracle+easyui实现lazyout组件的简单案例——EmpDao层代码
- struts+hibernate+oracle+easyui实现lazyout组件的简单案例——DeptDao层代码
- WebView使用SyntaxHighlighter实现代码高亮
- WebView 的使用案例
- 100303- ZooKeeper 配置管理代码实现案例
- 伪静态访问 简单代码实现案例
- 数十种TensorFlow实现案例汇集:代码+笔记
- 数十种TensorFlow实现案例汇集:代码+笔记
- TensorFlow实现案例汇集:代码+笔记
- 数十种TensorFlow实现案例汇集:代码+笔记
- 数十种TensorFlow实现案例汇集:代码+笔记
- 数十种TensorFlow实现案例汇集:代码+笔记
- TensorFlow实现案例汇集:代码+笔记
- 数十种TensorFlow实现案例汇集:代码+笔记
- 【Spring】实现分布式session(代码案例)
- 数十种TensorFlow实现案例汇集:代码+笔记
- 字符串的旋转
- 【AC自动机】HDU2896病毒侵袭
- 第十一周项目2 - 用二叉树求解代数表达式
- My PHP
- cocoaPods 安装第三方库
- 实现代码——WebView案例
- 第五章 编码/加密
- Android高级之xUtils框架(一):ViewUtils的用法
- MongoDB的用户、认证和权限
- 初始JavaScript
- sql6
- 第六章 Realm及相关对象
- 开始使用C++11的几个理由
- oracle 内存数据库学习