阿赛·游梦鱼·郭言赛·阿赛工作室

android studio中插入HTML网页或网站(五)——解决浏览器显示错位的问题

  • 发布时间: 2018年4月19日20时19分53秒 发布:asai 编辑:asai 字体:
  • <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.eesai.muzu">

    <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".AsaiWeb">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>
    </application>

    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
    </manifest>



    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <WebView
    android:id="@+id/asaiweb_webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

    </LinearLayout>


    package com.eesai.muzu;

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.Window;
    import android.view.WindowManager;
    import android.webkit.WebResourceResponse;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;

    public class AsaiWeb extends AppCompatActivity {
    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏
    this.getSupportActionBar().hide();//解决标题栏有时候没法去掉的问题
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉顶部时间等信息栏
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layout);
    this.webView = (WebView) findViewById(R.id.asaiweb_webview);

    WebSettings webSettings = webView.getSettings();
    // 让WebView能够执行javaScript
    webSettings.setJavaScriptEnabled(true);
    // 让JavaScript可以自动打开windows
    webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
    // 离线文件访问编码
    webSettings.setDefaultTextEncodingName("UTF-8");
    // 设置缓存
    webSettings.setAppCacheEnabled(true);
    // 设置缓存模式,有缓存先读缓存
    // LOAD_DEFAULT: 如果我们应用程序没有设置任何cachemode, 这个是默认的cache方式。 加载一张网页会检查是否有cache,如果有并且没有过期则使用本地cache,否则 从网络上获取。
    // LOAD_CACHE_ELSE_NETWORK: 使用cache资源,即使过期了也使用,如果没有cache才从网络上获取。
    // LOAD_NO_CACHE: 不使用cache 全部从网络上获取
    // LOAD_CACHE_ONLY: 只使用cache上的内容。
    webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);
    //设置数据库缓存路径
    webSettings.setDatabasePath("http://www.eesai.com/asai/cache/muzu");
    //设置 应用 缓存目录
    webSettings.setAppCachePath("/asai/cache/muzu");
    //开启 DOM 存储功能
    webSettings.setDomStorageEnabled(true);
    //开启 数据库 存储功能
    webSettings.setDatabaseEnabled(true);
    //开启 应用缓存 功能
    webSettings.setAppCacheEnabled(true);
    //设置渲染效果优先级,高
    webSettings.setRenderPriority(WebSettings.RenderPriority.HIGH);
    // 支持内容重新布局,一共有四种方式
    // 默认的是NARROW_COLUMNS
    // 1.NARROW_COLUMNS:可能的话使所有列的宽度不超过屏幕宽度
    // 2.NORMAL:正常显示不做任何渲染
    // 3.SINGLE_COLUMN:把所有内容放大webview等宽的一列中
    webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
    // 支持缩放(适配到当前屏幕)
    webSettings.setSupportZoom(true);
    // 将图片调整到合适的大小
    webSettings.setUseWideViewPort(true);
    // 设置可以被显示的屏幕控制
    webSettings.setDisplayZoomControls(true);
    webSettings.setLoadWithOverviewMode(true);
    // 设置默认字体大小
    // webSettings.setDefaultFontSize(12);
    // 设置WebView的客户端
    webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
    //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
    webView.loadUrl(url);
    return true;
    }

    //网络请求部分
    @Override
    public WebResourceResponse shouldInterceptRequest(WebView view, String url) {

    url = url.toLowerCase();
    if (url.contains("77ya.com") || url.contains("eesai.com")) {
    return super.shouldInterceptRequest(view, url);
    } else {

    //return new WebResourceResponse(null,null,null); //去掉广告
    return null; //去掉广告
    }
    }

    }
    );

    webView.loadUrl("http://mz.77ya.com/");
    }
    }
    Powered by eesai.Com ©  2018  阿赛工作室 All Rights Reserved
    本网站由 阿赛工作室 提供源代码技术支持.  备案号:苏ICP备18000000号

    网站地图建议反馈MapRssXml回到顶部