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
阅读全文
0 0
- android WebView加载H5去地址栏的两种方式
- 加载webView的两种方式
- android webview 加载h5
- android webView加载h5 h5的js代码不执行
- WebView 加载资源的三种方式 一般使用第二种方式与H5交互
- Android--实现H5与Native交互的两种方式
- android webview加载H5页面丢失cookie信息的解决办法
- Android中使用WebView加载H5页面的方法
- 安卓Android WebView 加载H5的解决问题
- Android中加载WebView的H5全屏视频播放
- android webview打开pdf 的两种方式
- android webview打开pdf 的两种方式
- android 的webView加载h5,和h5的交互(java和JavaScript的交互)
- Android用webView加载h5的页面,h5获取本地的图库中的图片
- android webview 加载h5 相关问题
- Android中webView加载H5绑定cookie
- Android webview加载H5空白页问题
- android使用webview加载H5页面
- SQL注入攻防入门详解
- 1045
- 文章标题
- 有趣的数-CCF
- js对url进行编码和解码(三种方式区别)
- android WebView加载H5去地址栏的两种方式
- 交换两个数组中的元素
- python基础一
- WebView加载网页
- 触发器
- 阿里巴巴面试题之服务器
- 如何进行数据库热备份和热备份数据恢复?
- 关于Axios直接上手用问题
- vector作为参数的三种传参方式