1、根据网址直接显示页面的方法,如下代码是xml数据
<WebView
android:id="@+id/webView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
2、Activity代码如下:
mWebView=findViewById(R.id.webView);
String url = “http://www.baidu.com”;
mWebView.loadUrl(url);
3、但是这种方法默认调用的是外部的浏览器,不能直接打开,直接打开方式如下
String url = "http://www.baidu.com";
mWebView.getSettings().setJavaScriptEnabled(true);
//mWebView,使网页用WebView打开
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
view.loadUrl(url);
return true;
}
});
mWebView.loadUrl(url);
4、如果直接读取html页面内容,如在后台编辑的html页面时可用如下方法
private WebView mWebView;
private String dataStr="<html><body><style>img{ width:100% !important;}</style>"+
"<img src=https://ss0.bdstatic.com/-0U0bnSm1A5BphGlnYG/tam-ogel/dd9d1d686cdc814db9653b254e00402e_259_194.jpg alt= />" +
"<p style=text-align:right;>品类定位的思考</p><h3><strong><span style=color:#00D5FF;>品类定</span></strong>" +
"<h3><a href='JavaScript:android.returnAndroid(要返回给APP的数据)'>点击我跳回APP</a>"+"</body></html>";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.base_webview);
initView();
initData();
}
/*初始化页面内容*/
private void initView(){
setTitle("常见问题",false,null);
registerBack();
mWebView=findViewById(R.id.webView);
}
private void initData(){
//设置WebView的样式,编码格式.
mWebView.loadDataWithBaseURL("",dataStr,
"text/html", "UTF-8", "about:blank");
//硬件加速
mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
5、webView属性我好多都没用上,在这里也写一下吧
public void initWebView(String data){
WebSettings settings = mWebView.getSettings();
settings.setUseWideViewPort(true);//调整到适合webview的大小
settings.setLoadWithOverviewMode(true);//设置WebView是否使用预览模式加载界面。
mWebView.setVerticalScrollBarEnabled(false);//不能垂直滑动
mWebView.setHorizontalScrollBarEnabled(false);//不能水平滑动
settings.setTextSize(WebSettings.TextSize.LARGEST);//通过设置WebSettings,改变HTML中文字的大小
settings.setJavaScriptCanOpenWindowsAutomatically(true);//支持通过JS打开新窗口
//设置WebView属性,能够执行Javascript脚本
mWebView.getSettings().setJavaScriptEnabled(true);//设置js可用
mWebView.setWebViewClient(new WebViewClient());
mWebView.addJavascriptInterface(new AndroidJavaScript(getApplication()), "android");//设置js接口
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);//支持内容重新布局
/****** 22222222 ***********************************************************************/
// data = "</Div><head><style>img{ width:100% !important;}</style></head>"+data;//给图片设置一个样式,宽满屏
/****** 2222222222 ***********************************************************************/
mWebView.loadDataWithBaseURL(null, data, "text/html", "utf-8", null);
}