android Webview根据网址读取页面和直接读取html的方法

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);
    }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值