android webview 简单应用
一直没有用过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/"; @Override protected 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()); } } }); } @Override public 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