Android进阶之路

来源:互联网 发布:ubuntu 修改系统语言 编辑:程序博客网 时间:2024/05/01 07:10

本篇的存在意义与解决的问题:
在我们使用WebView的时候,WebView没有加载完成之前,往往带来的是界面的一片空白,而此时我们去监听Webview的加载状态,在还没有完成加载的时候可以先行进入一个Loading界面让用户等待,当加完完毕之后WebView在进行显示,于此同时我们可以我们可以在一些控件在WebView加载完成的时候进行展示,实现对应的功能

前篇WebView的使用方式(WebView的回退操作):
http://blog.csdn.net/qq_20451879/article/details/54316824

Effect :

这里写图片描述

MainActivity :

package com.example.dow.webview;import android.app.ProgressDialog;import android.graphics.Bitmap;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    private WebView mWeb;    private TextView mContent;    private ProgressDialog dialog;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mContent = (TextView) findViewById(R.id.tv_content);        mWeb = (WebView) findViewById(R.id.web_content);        // 首先设置支持JS脚本        mWeb.getSettings().setJavaScriptEnabled(true);        //要加载的H5页面        mWeb.loadUrl("http://www.baidu.com/");        //不读取缓存        mWeb.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);        dialog = ProgressDialog.show(MainActivity.this, "Please Wait sometime", null);        mWeb.setWebViewClient(new WebViewClient(){            @Override            public void onPageFinished(WebView view, String url) {                super.onPageFinished(view, url);                Toast.makeText(MainActivity.this,"加载完毕",Toast.LENGTH_SHORT).show();                mContent.setVisibility(View.VISIBLE);                dialog.dismiss();            }            @Override            public void onPageStarted(WebView view, String url, Bitmap favicon) {                super.onPageStarted(view, url, favicon);                Toast.makeText(MainActivity.this,"开始加载",Toast.LENGTH_SHORT).show();            }        });        mContent.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(MainActivity.this,"触发点击",Toast.LENGTH_SHORT).show();            }        });    }}

MainActivity Xml :

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/activity_main"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context="com.example.dow.webview.MainActivity">    <TextView        android:layout_width="match_parent"        android:text="隐藏的数据"        android:padding="5dp"        android:visibility="gone"        android:textColor="#000"        android:gravity="center"        android:id="@+id/tv_content"        android:layout_height="wrap_content" />    <WebView        android:layout_marginBottom="2dp"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:id="@+id/web_content" /></LinearLayout>
原创粉丝点击