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



http://www.cnblogs.com/linjiqin/archive/2011/09/05/2167797.html

http://www.cnblogs.com/linjiqin/archive/2011/09/05/2167797.html

http://www.cnblogs.com/linjiqin/archive/2011/09/05/2167797.html


最近在工作中很荣幸使用了WebView控件,一开始以为它只是加载网页而已,没想那么多,等真正使用到了才感觉它的强大。

        

一、以下是在工作中遇到的一些常用问题

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

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

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

4、创建菜单

复制代码
package com.hrtx.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.Window;
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 webView;
    private final static String url=http://10.0.2.2/dstradeprj/mobile/;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_PROGRESS);//让进度条显示在标题栏上   
        setContentView(R.layout.main);
        
        webView = (WebView) this.findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        //当webview加载网页的时候在标题栏上显示加载进度 
         webView.setWebChromeClient(new WebChromeClient(){
            @Override
            public void onProgressChanged(WebView view, int progress) {
              //Activity和Webview根据加载程度决定进度条的进度大小   
                //当加载到100%的时候进度条自动消失   
                MainActivity.this.setProgress(progress * 100);  
            }
        });
        webView.loadUrl(url);
        
        //隐藏webkit浏览器的地址栏
         webView.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 (webView.getTitle() != null) {
                    MainActivity.this.setTitle(webView.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.webView.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,否则无效
    }

}
复制代码

         

 二、设置没有标题栏TitleBar

复制代码
设置没有标题栏TitleBar
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" />
复制代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值