Android学习笔记 —— Android开发中,不调用系统浏览器直接在应用中显示指定网址的内容

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/molixiangshi/article/details/79133947

在开发过程中有一个在应用中直接显示一个网址的内容,而不是调用系统浏览器显示。根据网上大神的例子,终于实现了这一功能!现在把这个功能记录下来,方便以后使用!

首先是xml文件布局,就一个简单的WebView:

activity_webview.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:gravity="center"
        android:textColor="#ff4545"
        android:text="这是访问的百度首页"/>

    <WebView
        android:id="@+id/mWebView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="none"/>

</LinearLayout>

接着就是 java 文件了:

WebViewActivity:

package com.liyu.logistic.activity;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

import com.liyu.logistic.R;

/**
 * Created by Administration on 2018/1/22.
 */

public class WebViewActivity extends AppCompatActivity {


    private WebView mWebView;
    private String url = "http://baidu.com";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_webview);

        mWebView = (WebView) findViewById(R.id.mWebView);

        WebSettings setting = mWebView.getSettings();
        setting.setPluginState(WebSettings.PluginState.ON);
        setting.setJavaScriptEnabled(true);
        //设置滚动条的样式
        mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_INSET);

        //复写WebViewClient的shouldOverrideUrlLoading()的方法
        //如果需要事件处理返回false,否则返回true.这样就可以解决问题了
        mWebView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                lodurl(view, url);
                return false;
            }
        });

        this.mWebView.loadUrl(url);
    }

    public void lodurl(final WebView webView, final String url) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                webView.loadUrl(url);
            }
        });
    }
}


当然了,什么时候都不能忘记测试结果,下面就是测试的结果:


好了,android 应用内直接显示网址内容的记录到这基本就结束了。  

转载请标明出处  http://mp.blog.csdn.net/postedit/79133947  !


没有更多推荐了,返回首页