`
HU555U
  • 浏览: 31314 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

WebView的简单使用

阅读更多
关于WebView的一些简单设置,直接上代码:

布局文件:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.calendar.MainActivity"
    tools:ignore="MergeRootFrame" >

    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />


    <ProgressBar
        android:id="@+id/progressBar"
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="100" />

</FrameLayout>


java代码:
public class MainActivity extends Activity {

	private ProgressDialog dialog;
	private WebView webView;
	private ProgressBar progressBar;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		progressBar = (ProgressBar) findViewById(R.id.progressBar);

		webView = (WebView) findViewById(R.id.webview);
		WebSettings settings = webView.getSettings();

		// 设置缩放允许
		settings.setBuiltInZoomControls(true);
		settings.setSupportZoom(true);

		// 设置初始比例
		// webView.setInitialScale(50);

		// 设置加载进来的页面自适应手机屏幕
		settings.setUseWideViewPort(true);
		settings.setLoadWithOverviewMode(true);

		// 设置使用内置浏览器打开
		webView.setWebViewClient(new WebViewClient() {

			@Override
			public void onPageStarted(WebView view, String url, Bitmap favicon) {
				// 加载页面时对话框提示
				if (dialog == null || !dialog.isShowing()) {
					dialog = new ProgressDialog(MainActivity.this);
					dialog.setMessage("正在加载中,请稍候...");
				}
				dialog.show();
			}

			@Override
			public void onPageFinished(WebView view, String url) {
				dialog.dismiss();
			}

			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				super.shouldOverrideUrlLoading(view, url);
				view.loadUrl(url);
				return true;
			}
		});

		// 页面加载进度
		webView.setWebChromeClient(new WebChromeClient() {

			@Override
			public void onProgressChanged(WebView view, int newProgress) {
				super.onProgressChanged(view, newProgress);
				Message msg = new Message();
				msg.what = 200;
				msg.obj = newProgress;
				handler.sendMessage(msg);
			}
		});

		webView.loadUrl("http://www.zjut.edu.cn");
		// 重新加载,刷新
		// webView.reload();
	}

	private Handler handler = new Handler() {

		@Override
		public void handleMessage(Message msg) {
			switch (msg.what) {
			case 200:
				int progress = (Integer) msg.obj;
				progressBar.setProgress(progress);
				if (progressBar.getProgress() == 100) {
					progressBar.setVisibility(View.GONE);
				}
				break;
			}
		};
	};

	@Override
	public boolean dispatchTouchEvent(MotionEvent ev) {
		switch (ev.getAction()) {
		case MotionEvent.ACTION_MOVE:
			if (webView.getScrollY() == 0) {
				// 滑动到顶部
				System.out.println("滑动到顶部.....");
			}
			if ((int) (webView.getContentHeight() * webView.getScale()) == (webView
					.getHeight() + webView.getScrollY())) {
				// 滑动到底部
				System.out.println("滑动到底部.....");
			}
			break;
		}
		return super.dispatchTouchEvent(ev);
	}

	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		// 处理返回事件,如果页面还可以回退,则回退页面,否则finish
		if (keyCode == KeyEvent.KEYCODE_BACK) {
			if (webView.canGoBack()) {
				webView.goBack();
			} else {
				finish();
			}
			return true;
		}
		return super.onKeyDown(keyCode, event);
	}
}
0
0
分享到:
评论
3 楼 白青龙 2014-07-02  
已解决,在配置文件 AndroidManifest.xml里面加上
<uses-permission android:name="android.permission.INTERNET" />
2 楼 HU555U 2014-07-02  
白青龙 写道
运行不了啊,换了好几个url还是不行,一直在加载。。。。。

进度条在走么。。
1 楼 白青龙 2014-07-02  
运行不了啊,换了好几个url还是不行,一直在加载。。。。。

相关推荐

    WebView简单使用Demo

    WebView简单使用Demo通常会展示如何在Android应用中加载和展示一个网页,以及一些基本的交互功能。接下来,我们将深入探讨WebView的相关知识点。 1. **WebView的基本使用** - 首先,在布局文件(如`activity_main....

    Webview简单使用Demo

    本教程将详细讲解Webview的使用方法,并通过一个简单的Demo来帮助理解其核心功能。 1. **Webview的引入与设置** 在AndroidManifest.xml中,我们需要为应用添加Internet权限,因为Webview需要访问网络资源: ```...

    使用webview 封使用了webrtc 打开摄像头 的页面demo

    在本示例中,“使用webview 封装使用了webrtc 打开摄像头的页面demo”意味着我们要在Webview中集成Webrtc,以便在Android应用中通过Web接口调用摄像头功能。 首先,我们需要了解Webview的基本用法。在...

    android webview 加载网页 样例

    本文将深入探讨如何使用Android WebView加载网页,包括基本使用、配置设置、与JavaScript交互以及处理网络权限等问题。 一、WebView基础 1. 添加依赖 在Android Studio项目中,首先确保在`build.gradle`(Module)...

    简单WebView的使用-浏览器功能

    这个“简单WebView的使用-浏览器功能”主题将深入讲解如何利用WebView构建一个基本的内置浏览器功能。 一、WebView的介绍 WebView是Android SDK中的一个类,它是基于WebKit引擎的,用于在应用程序中内嵌Web页面。...

    android 简单webview的使用

    本教程将详细介绍如何在Android中简单使用WebView。 一、WebView的基本概念 WebView是Android SDK中的一个类,继承自ViewGroup,它提供了在Android应用中展示网页的能力。WebView的核心功能包括加载URL、执行...

    webview的简单实现

    下面我们将详细介绍WebView的简单实现及其相关知识点。 1. **初始化WebView** 在Android应用中,首先需要在XML布局文件中添加WebView组件,并在Java代码中通过findViewById()方法获取其引用。然后,调用WebView的...

    webview的简单运用

    对于Android开发者来说,理解并熟练掌握WebView的使用是提升应用功能和用户体验的关键。 一、WebView的基本概念 WebView是Android SDK提供的一种用于展示网页内容的控件。它可以加载HTML、CSS、JavaScript等Web资源...

    android开发中WebView的使用

    这个简单的例子展示了WebView在Android开发中的基本使用,但实际应用中,开发者可能还需要实现更多的功能,例如添加网页拦截器(WebViewClient的`onReceivedError`或`onReceivedHttpError`方法),处理用户登录认证...

    android中简单webview例子

    这个简单的例子展示了如何在Android应用中使用WebView展示网页内容,以及如何进行一些基本的设置,如启用JavaScript和隐藏地址栏。在实际开发中,你还可以根据需求实现更多功能,比如处理JavaScript与原生Android...

    自定义WebView简单demo

    【自定义WebView简单demo】是Android开发中的一个常见实践,主要目标是提升用户体验并实现特定功能。在这个项目中,我们自定义了一个WebView组件,它包含了三个核心特性:进度条显示、在同一WebView中处理多个链接...

    使用腾讯的X5WebView

    尽管X5WebView带来了诸多优势,但在实际使用中也需要注意一些问题: - **兼容性**:虽然X5WebView在大多数设备上表现良好,但可能在部分老旧或定制系统上存在兼容性问题。 - **体积**:X5WebView的库文件较大,可能...

    webview的简单样例

    以上就是WebView的基本用法,通过这些操作,开发者可以构建一个简单的网页浏览应用。当然,WebView还有更高级的特性,如WebChromeClient、Cookie管理、混合模式开发等,这些都是进阶话题,适用于更复杂的场景。在...

    webview网站全屏显示

    - "website-in-webview-master"可能是项目的源代码目录,可能包含了一个简单的Android项目,包括`MainActivity.java`(包含WebView的初始化和配置)以及可能的布局文件`activity_main.xml`。 通过这个项目,你可以...

    简单实用的webview示例代码

    本文将深入探讨“简单实用的webview示例代码”,并讲解如何复写`shouldOverrideUrlLoading`方法,以提升用户体验和控制页面加载行为。 1. **WebView基本用法** WebView是Android SDK提供的一种视图组件,它能够...

    android开发中WebView的使用.pdf

    以下是一个简单的WebView使用示例,该示例展示了如何在Android应用中加载网页并处理页面加载过程: 首先,我们来看XML布局文件。在这个例子中,使用了一个`AbsoluteLayout`来放置`WebView`。`WebView`占据了整个...

    android demo,webview使用的源代码

    描述简单明了,强调这是一个Android的示例项目,主要展示了WebView的使用。这意味着源代码会包含WebView的基本设置、初始化、加载网页等常见操作。开发者可以通过分析这个Demo,学习如何在实际项目中实现类似的功能...

    android不使用webview与js交互

    但如果我们不使用Webview,如何实现类似的功能呢? 1. **纯Java实现JavaScript引擎** Android提供了Rhino库,这是一个嵌入式的JavaScript引擎,允许我们在Android应用中直接运行JavaScript代码。例如,`...

    用webview实现的android简单浏览器

    在Android平台上,WebView是一个强大的组件,它允许开发者在应用程序中嵌入网页内容,甚至实现一个简单的浏览器应用。本文将深入探讨如何使用WebView实现一个具备基本功能的Android浏览器,包括加载网页、添加书签等...

Global site tag (gtag.js) - Google Analytics