android WebView加载H5去地址栏的两种方式

来源:互联网 发布:蓝牙聊天知乎 编辑:程序博客网 时间:2024/05/29 11:02

android WebView加载H5去地址栏的两种方式,先上图




四个布局文件:


activity_main.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:gravity="center"    android:padding="30dp">    <Button        android:id="@+id/btn_normal"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="正常加载未处理的WebView" />    <Button        android:id="@+id/btn_noTitle"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@+id/btn_normal"        android:layout_marginTop="10dp"        android:text="去除标题的WebView" />    <Button        android:id="@+id/btn_noTitle2"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@+id/btn_noTitle"        android:layout_marginTop="10dp"        android:text="去除标题的2" /></RelativeLayout>


activity_second.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.dr.dr_webview.SecondActivity"><WebView    android:id="@+id/webview"    android:layout_width="match_parent"    android:layout_height="match_parent"></WebView></RelativeLayout>

activity_no_title.xml


<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.dr.dr_webview.SecondActivity">    <WebView        android:id="@+id/webview"        android:layout_width="match_parent"        android:layout_height="match_parent"></WebView></RelativeLayout>

activity_no_title2.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.dr.dr_webview.SecondActivity">    <WebView        android:id="@+id/webview"        android:layout_width="match_parent"        android:layout_height="match_parent"></WebView></RelativeLayout>


四个java文件

MainActivity.class


package com.dr.dr_webview;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button btn_normal = (Button) findViewById(R.id.btn_normal);        Button btn_noTitle = (Button) findViewById(R.id.btn_noTitle);        Button btn_noTitle2 = (Button) findViewById(R.id.btn_noTitle2);        btn_normal.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent intent = new Intent(MainActivity.this,SecondActivity.class);                startActivity(intent);            }        });        btn_noTitle.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent intent = new Intent(MainActivity.this,NoTitleActivity.class);                startActivity(intent);            }        });        btn_noTitle2.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent intent = new Intent(MainActivity.this,NoTitleActivity2.class);                startActivity(intent);            }        });    }}

SecondAcitivty.class

package com.dr.dr_webview;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.webkit.WebSettings;import android.webkit.WebView;public class SecondActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_second);        WebView webView = (WebView) findViewById(R.id.webview);        WebSettings webSettings = webView.getSettings();        webSettings.setJavaScriptEnabled(true);        webSettings.setUseWideViewPort(true);        webSettings.setLoadWithOverviewMode(true);        webView.loadUrl("http://www.baidu.com");    }}


NoTitleActivity.class

package com.dr.dr_webview;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;public class NoTitleActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_no_title);        WebView webView = (WebView) findViewById(R.id.webview);        WebSettings webSettings = webView.getSettings();        webSettings.setJavaScriptEnabled(true);        webSettings.setUseWideViewPort(true);        webSettings.setLoadWithOverviewMode(true);       webView.loadUrl("http://www.baidu.com");        webView.setWebViewClient(new WebViewClient() {            @Override            public void onPageFinished(WebView view, String url) {                super.onPageFinished(view, url);                //编写 javaScript方法               /* String javascript = "javascript:function hideOther() {" +                        "document.getElementsByTagName('body')[0].innerHTML;" +                        "document.getElementsByTagName('div')[0].style.display='none';" +                        "document.getElementsByTagName('div')[3].style.display='none';" +                        "document.getElementsByClassName('dropdown')[0].style.display='none';" +                        "document.getElementsByClassName('min')[0].remove();" +                        "var divs = document.getElementsByTagName('div');" +                        "var lastDiv = divs[divs.length-1];" +                        "lastDiv.remove();" +                        "document.getElementsByClassName('showme')[0].remove();" +                        "document.getElementsByClassName('nei-t3')[1].remove();}";*/                String javascript = "javascript:function hideOther() {" +                        "document.getElementsByTagName('body')[0].innerHTML;" +                        "document.getElementsByTagName('div')[0].style.display='none';" +                        "document.getElementsByTagName('div')[3].style.display='none';" +                        "document.getElementsByClassName('dropdown')[0].style.display='none';" +                        "document.getElementsByClassName('min')[0].remove();" +                        "var divs = document.getElementsByTagName('div');" +                        "var lastDiv = divs[divs.length-1];" +                        "lastDiv.remove();" +                        "document.getElementsByClassName('showme')[0].remove();" //+                      //  "document.getElementsByClassName('nei-t3')[1].remove();}"                        ;                //创建方法                view.loadUrl(javascript);                //加载方法                view.loadUrl("javascript:hideOther();");            }        });    }}


NoTitleActivity2.class


package com.dr.dr_webview;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;public class NoTitleActivity2 extends AppCompatActivity {    String url;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_no_title2);        WebView mWebView = (WebView) findViewById(R.id.webview);        url = "http://www.baidu.com";        WebSettings setting = mWebView.getSettings();        setting.setJavaScriptEnabled(true);//webview支持javascript        setting.setDefaultTextEncodingName("utf-8");//设置字符集        //setting.setBlockNetworkImage(true);//设置不能访问网络图片        // setting.setSupportZoom(true);//开启网页的缩放        // setting.setBuiltInZoomControls(true);        setting.setLoadWithOverviewMode(true);//设置网页缩放至手机大小        setting.setUseWideViewPort(true);        mWebView.getSettings().setJavaScriptEnabled(true);//webview支持javascript        mWebView.setWebChromeClient(new WebChromeClient());//支持特殊javascript        mWebView.loadUrl(url);        mWebView.setWebViewClient(new MyWebViewClient());    }    private class MyWebViewClient extends WebViewClient {        @Override        // WebView中而不在默认浏览器中显示页面        public boolean shouldOverrideUrlLoading(WebView view, String url) {            view.loadUrl(url);            return true;        }    }}


源码下载:

http://download.csdn.net/download/qq_31939617/9997944













原创粉丝点击