android webview 简单应用

来源:互联网 发布:淘宝客服能学到东西吗 编辑:程序博客网 时间:2024/04/20 08:00

一直没有用过webView 在网上找了一个小例子,主要实现以下功能:

1、当webview加载网页的时候在标题栏上显示加载进度

2、隐藏webkit浏览器的地址栏

3、设置程序的标题为网页的标题

4、创建菜单

代码:

<span style="font-size:18px;"><span style="font-size:18px;">package com.mywebview;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.MenuItem;import android.view.MenuItem.OnMenuItemClickListener;import android.webkit.WebChromeClient;import android.webkit.WebView;import android.webkit.WebViewClient;public class MainActivity extends Activity{    private final int MENU_ITEM1 = 1;     private final int MENU_ITEM2 = 2;        private final int MENU_GROUP = 0;        private WebView myWebView;    private final static String url= "http://m.baidu.com/";@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);myWebView = (WebView) this.findViewById(R.id.mywebview);myWebView.getSettings().setJavaScriptEnabled(true);        //当webview加载网页的时候在标题栏上显示加载进度 myWebView.setWebChromeClient(new WebChromeClient(){           @Override           public void onProgressChanged(WebView view, int progress) {             //Activity和Webview根据加载程度决定进度条的进度大小                  //当加载到100%的时候进度条自动消失                  MainActivity.this.setProgress(progress * 100);             }       });myWebView.loadUrl(url);        //隐藏webkit浏览器的地址栏myWebView.setWebViewClient(new WebViewClient(){           @Override           public boolean shouldOverrideUrlLoading(WebView view, String url) {               view.loadUrl(url);               return true;           }                      //设置程序的标题为网页的标题            @Override           public void onPageFinished(WebView view, String url) {               if (myWebView.getTitle() != null) {                   MainActivity.this.setTitle(myWebView.getTitle());               }           }       });}@Overridepublic boolean onCreateOptionsMenu(Menu menu){        //刷新        MenuItem aboutMenu=menu.add(MENU_GROUP, MENU_ITEM1, 1 ,"刷新");       aboutMenu.setOnMenuItemClickListener(new OnMenuItemClickListener(){           public boolean onMenuItemClick(MenuItem item) {               MainActivity.this.myWebView.loadUrl(url);               return true;           }       });       //退出        MenuItem exitMenu=menu.add(MENU_GROUP, MENU_ITEM2, 2, "退出");       exitMenu.setOnMenuItemClickListener(new OnMenuItemClickListener(){           public boolean onMenuItemClick(MenuItem item) {               //返回主屏幕               Intent home = new Intent(Intent.ACTION_MAIN);                 //在A窗口打开B窗口时在Intent中直接加入标志 Intent.FLAG_ACTIVITY_CLEAR_TOP,这样开启B时将会清除该进程空间的所有Activity。               home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);                 home.addCategory(Intent.CATEGORY_HOME);                 startActivity(home);                 finish();               return true;           }       });       return true; // 记得返回true,否则无效}}</span></span>
<span style="font-size:18px;"><span style="font-size:18px;">设置没有标题栏TitleBar</span></span>
<span style="font-size:18px;"><span style="font-size:18px;">1、在values目录下建立一个style.xml,内容如下<?xml version="1.0" encoding="utf-8"?><resources>    <style name="NewTheme" parent="@android:style/Theme.NoTitleBar">    </style></resources>        2、同时要使得你的网页有上网功能和隐藏TitleBar,则需要在AndroidManifesti.xml中加入<activity android:name=".MainActivity"    android:label="@string/app_name"    android:theme="@android:style/Theme.NoTitleBar">添加访问INTERNET权限<uses-permission android:name="android.permission.INTERNET" /></span></span>


具体代码见:

http://download.csdn.net/detail/q610098308/8886225

0 0