zoukankan      html  css  js  c++  java
  • 二十五、工作要点

    最近在工作中很荣幸使用了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" />

  • 相关阅读:
    Python3之random模块常用方法
    Go语言学习笔记(九)之数组
    Go语言学习笔记之简单的几个排序
    Go语言学习笔记(八)
    Python3之logging模块
    Go语言学习笔记(六)
    123. Best Time to Buy and Sell Stock III(js)
    122. Best Time to Buy and Sell Stock II(js)
    121. Best Time to Buy and Sell Stock(js)
    120. Triangle(js)
  • 原文地址:https://www.cnblogs.com/linjiqin/p/2167797.html
Copyright © 2011-2022 走看看