webview加载HTML文本,以及图片宽度适应、字体大小调整、退出清理

package com.demo.com.demoapplication;

import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.SslErrorHandler;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

/**
 * Created by wy on 2018/7/20.
 */

public class WebActivity extends AppCompatActivity {

    private static final String mWebContent = ""
            + "

\"K图

  沪指和创业板指双双宽幅震荡,盘面上,保险、钢铁和水泥板块涨幅居前,民航机场、环保、黄金、生物" + "苗等板块表现不佳,跌幅居前。截止发稿,沪指下跌0.29%;创业板指下跌0.63%。

  今日消息面:

  1、

  银保监会:大中型银行要加大信贷投放力度 降低小微企业融资成本


  2、

  全国首家!上海不动产信息查询向银行开放 炒房客无眠


" + "  3、

  央行窗口指导银行增配较低评级信用债 市场争议AA+债券流动性能否" + "复


  4、

  部委密集研讨扩大中" + "收入群体 一揽子新政正酝酿


  5、

  " + "PPP条例今年有望出台 防控地方政府债务风险文件正在研究


  今天券商晨会上,分析师表示,A股仍是存量格局,风险偏好难以明显回升,短期维持震荡行情。

  华泰证券:

" + "大部分投资者认为短期维持震荡行情,国内外风险因素仍较多,政策意图尚不明朗,缺乏上行动力,控制仓位,部分投资者会趁中报季调仓,逢高卖出逻辑有瑕疵的个股。也有少数投资者认为目前是底部区域,适合做长线投资" + "在下跌中逐渐加仓。个股选择上,部分投资者注重自下而上选股,关注能走出独立行情的细分行业龙头。

  东北证券:

  受国内去杠杆、信用环境偏紧" + "生产和需求背离难持续、企业利润将缓降等影响,A股仍是存量格局,风险偏好难以明显回升。但目前估值偏低,供需矛盾不大,货币政策微调、财政政策有望更积极,反弹格局可期,但风险同存。如上述基本面因素,大方向" + "撑无风险资产表现,具有配置价值,但信用债预计难以明显有起色。无风险债券表现需注意三季度可能出现的供需矛盾以及美联储9月再加息(国内可能跟随“加息”)。

"; private WebView webView; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout); initView(); } private void initView(){ webView = findViewById(R.id.webview); webView.setVisibility(View.VISIBLE); DisplayMetrics dm = getResources().getDisplayMetrics(); int scale = dm.densityDpi; if (scale == 240) { //设置自动适配 webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR); } else if (scale == 160) { webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.MEDIUM); } else { webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.CLOSE); } webView.setVerticalScrollBarEnabled(false); webView.getSettings().setJavaScriptEnabled(false); webView.getSettings().setBlockNetworkImage(false); webView.getSettings().setDefaultTextEncodingName("UTF-8"); webView.setWebChromeClient(new WebChromeClient() { }); webView.getSettings().setSupportZoom(true);//支持缩放 webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); webView.getSettings().setBuiltInZoomControls(true); webView.getSettings().setDisplayZoomControls(false);//不显示缩放按钮 webView.setHorizontalScrollBarEnabled(false); webView.setVerticalScrollBarEnabled(false); webView.setWebViewClient(new WebViewClient() { @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed(); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); } }); webView.getSettings().setDomStorageEnabled(false); if (Build.VERSION.SDK_INT >= 21) {//同时允许HTTP和HTTPS webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); } findViewById(R.id.linear).setVisibility(View.VISIBLE); findViewById(R.id.btn_1).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { loadContent(); } }); findViewById(R.id.btn_2).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { loadContentFill(); } }); } /** * 加载原有数据 */ private void loadContent(){ webView.loadDataWithBaseURL(null, mWebContent, "text/html", "utf-8", null); } /** * 通过适配,使图片宽度占满屏幕 */ private void loadContentFill(){ String head = ""; String resultStr = "" + head + "" + mWebContent + ""; webView.loadDataWithBaseURL(null, resultStr, "text/html", "utf-8", null); } @Override protected void onDestroy() { if (webView != null) { webView.loadDataWithBaseURL(null, "", "text/html", "utf-8", null); webView.clearHistory(); ((ViewGroup) webView.getParent()).removeView(webView); webView.destroy(); webView = null; } super.onDestroy(); } }

最后,有一个坑,千万不要短时间重复加载,会有小概率出现加载不全的情况。

demo地址:https://download.csdn.net/download/qq_24179679/10554342

你可能感兴趣的:(webview)