码迷,mamicode.com
首页 > 移动开发 > 详细

Android_webView

时间:2016-06-14 14:17:43      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

xml文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.webviewdemo1.MainActivity" >

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

</LinearLayout>

源代码:

package com.example.webviewdemo1;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
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://www.meizu.com/"; 
    private WebView webView;
    private ProgressDialog dialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        /*Uri uri = Uri.parse(url);//URL为要链接的地址
        Intent intent = new Intent(Intent.ACTION_VIEW,uri);//创建一个意图,将地址传入
        startActivity(intent);//开启活动
         */
        //!!!注意:一定要自定义网络权限,不然不能联网
// <uses-permission android:name="android.permission.INTERNET"/>
init(); } private void init() { webView = (WebView) findViewById(R.id.webView); //webView加载本地资源 //webView.loadUrl("file:///webViewDemo1//assets//example.html"); //webView加载web资源 webView.loadUrl(url); //覆盖webView默认通过第三方浏览器或者是默认浏览器打开网页的行为,使得网页可以在webView中打开 webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { //返回值为true时控制网页在webView中打开,如果为false则是调用系统浏览器或者第三方浏览器去打开 view.loadUrl(url); return true; } //webViewClient帮助webView去处理一些页面控制和请求通知 }); //启用支持javaScript WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); //提高速度 //webView加载页面优先使用缓存加载,默认不使用缓存加载 webView.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { //newProgress 1-100之间的整数 if(newProgress==100){ //网页加载完毕,关闭ProgressDialog closeProgress(); }else{ //网页开始加载,打开ProgressDialog openDialog(newProgress); } } private void openDialog(int newProgress) { if(dialog==null){ dialog = new ProgressDialog(MainActivity.this); dialog.setTitle("正在加载"); dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); dialog.setProgress(newProgress); dialog.show(); }else{ dialog.setProgress(newProgress); } } private void closeProgress() { if(dialog!=null&&dialog.isShowing()){ dialog.dismiss(); dialog=null; } } }); } //改写物理按键 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_BACK){ if(webView.canGoBack()){ webView.goBack();//返回上一页面 return true; }else{ System.exit(0);//退出程序 } } return super.onKeyDown(keyCode, event); } }

 

Android_webView

标签:

原文地址:http://www.cnblogs.com/fangg/p/5583723.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!