WebView是简单使用

来源:互联网 发布:java 多个泛型 编辑:程序博客网 时间:2024/06/07 01:43
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <!--  用到了权重知识,progress进度条模式:style="?android:attr/progressBarStyleHorizontal"  -->    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <EditText            android:id="@+id/path_et"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_weight="1"            android:hint="请用户输入网址,直接从www开始即可"            android:singleLine="true" />        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:onClick="load"            android:text="加载网页" />    </LinearLayout>    <ProgressBar        android:id="@+id/webView_pb"        style="?android:attr/progressBarStyleHorizontal"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:max="100"        android:visibility="gone" />    <WebView        android:id="@+id/www_wb"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_weight="1"></WebView>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <Button            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="refresh"            android:text="刷新" />        <Button            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="advance"            android:text="前进" />        <Button            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="back"            android:text="后退" />    </LinearLayout></LinearLayout
package com.example.webview_demo;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.EditText;import android.widget.ProgressBar;/** * WebView使用步骤 * 1、搭建环境 * 2、在布局文件里使用webview * 3、使用WebView加载网页 * 4、解决加载网页跳转到游览器的操作 */public class MainActivity extends AppCompatActivity {    private EditText path_et;    private WebView www_wb;    private ProgressBar webView_pb;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        www_wb = (WebView) findViewById(R.id.www_wb);        path_et = (EditText) findViewById(R.id.path_et);        webView_pb = (ProgressBar) findViewById(R.id.webView_pb);        //如果直接这样加载,在一些机型会跳转到浏览器上,因此我们还要做一些特殊操作        //使用WebView对象进行一些初始化操作        webViewInit();        //webViewsettings对象进行webView一系列初始化的设置        webViewSettingInit();    }    private void webViewSettingInit() {        //加载某一个网址,跳转到浏览器进行加载,点击事件的监听        www_wb.setWebViewClient(new WebViewClient(){            @Override            public boolean shouldOverrideUrlLoading(WebView view,String url) {                view.loadUrl(url);                return super.shouldOverrideUrlLoading(view, url);            }        });        //UI发送改变时进行的各种监听        www_wb.setWebChromeClient(new WebChromeClient(){            //newProgress网页加载的进度,当是100的时候,代表加载成功            @Override            public void onProgressChanged(WebView view, int newProgress) {                //让进度条显示出来                webView_pb.setVisibility(View.VISIBLE);                //对进度条设置进度参数                webView_pb.setProgress(newProgress);                if (newProgress == 100){                    //让进度条消失                    webView_pb.setVisibility(View.GONE);                }                super.onProgressChanged(view, newProgress);            }        });    }    private void webViewInit() {        WebSettings settings = www_wb.getSettings();        //使用webView对设置对象,使WebView支持JS        settings.setJavaScriptEnabled(true);        //使webview可以根据手机自动适配屏幕        settings.setSupportZoom(true);        //webview只加载文字而不加载图片(为用户节省流量)//        settings.setBlockNetworkImage(true);    }    public void load(View view) {        www_wb.loadUrl("http://www.qq.com");    }    public void advance(View view) {        www_wb.goForward();//前进        Log.d("ycf","advance");    }    public void back(View view) {        www_wb.goBack();        Log.d("ycf","back");    }    public void refresh(View view) {        www_wb.reload();  //刷新        Log.d("ycf","refresh");    }}
原创粉丝点击