WebView 的基本使用

来源:互联网 发布:东北农业大学网络登陆 编辑:程序博客网 时间:2024/06/18 04:06
不多说,直接上代码,注解还是比较清楚的 ,布局非常简单



public class MainActivity extends AppCompatActivity {

    private WebView www_wb;
    private EditText path_et;
    private ProgressBar webView_pb;


    //
    //WebView的使用
    //1.加载网络权限,使用控件(搭建环境)
    //使用webview 加载网页
    //解决浏览器加载网页加载到浏览器的问题
    //
    @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.loadUrl("http://www.qq.com 

");
        //webviewsettings  进行初始化操作,webview初始化进行操作
        webviewinit();
        webviewsettings();
    }

    private void webviewsettings() {
        //点击事件的监听
        www_wb.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                String url = "http://www.qq.com 

";
                view.loadUrl(url);
                return super.shouldOverrideUrlLoading(view, request);
            }
        });
        //UI发送改变时进行的监听
        www_wb.setWebChromeClient(new WebChromeClient() {
            @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);
        //自动适配手机屏幕
        settings.setSupportZoom(true);
        //是webview只加载文字,节省流量
        //  settings.setBlockNetworkImage(true);

    }

    public void load(View view) {
        Log.d("11111111111", "load");
        www_wb.loadUrl("http://www.qq.com 

");
    }

    public void advance(View view) {
        Log.d("11111111111", "advance");
        www_wb.reload();  //刷新
    }

    public void back(View view) {
        Log.d("11111111111", "back");
        www_wb.goBack();   //后退

    }

    public void refresh(View view) {
        Log.d("11111111111", "refresh");
        www_wb.goForward();//前进
    }
}




<?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.administrator.webview.MainActivity">

  <!--  用到了权重知识,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_weight="1"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:hint="请用户输入网址,直接从www开始即可"
        />
    <Button
        android:onClick="load"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="加载网页"/>
  </LinearLayout>

  <ProgressBar
      android:id="@+id/webView_pb"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      style="?android:attr/progressBarStyleHorizontal"
      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:id="@+id/refresh"
        android:onClick="refresh"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="刷新"
        />
    <Button
        android:onClick="advance"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="前进"
        />
    <Button
        android:onClick="back"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="后退"
        />
  </LinearLayout>

</LinearLayout>




原创粉丝点击