安卓WebView加载URL显示App协议类似功能

话不多说直接上代码,需要的童鞋直接粘贴改下加载的url即可
首先布局:

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <WebView
            android:overScrollMode="never"
            android:fadingEdge="none"
            android:id="@+id/web_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

        <ProgressBar
            android:id="@+id/progress_bar"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="fill_parent"
            android:layout_height="2dp"
            android:indeterminateOnly="false"
            android:max="100"
            android:progressDrawable="@drawable/progress_bar_states"></ProgressBar>

progress_bar_states文件:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:id="@android:id/background">
        <shape>
            <gradient
                android:centerColor="#00000000"
                android:endColor="#00000000"
                android:startColor="#00000000" />
        </shape>
    </item>
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <gradient
                    android:centerColor="#01A7FF"
                    android:endColor="#01A7FF"
                    android:startColor="#01A7FF" />
            </shape>
        </clip>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <gradient
                    android:centerColor="#01A7FF"
                    android:endColor="#01A7FF"
                    android:startColor="#01A7FF" />
            </shape>
        </clip>
    </item>

</layer-list>

最后一步:

 private ProgressBar mProgress;
    private WebView     mWebView;
    private TextView    mTitle;
    private ImageView   mBack;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_user_agreement);
        initView();
    }

    private void initView() {
        mProgress= (ProgressBar) findViewById(R.id.progress_bar);
        mWebView = (WebView) findViewById(R.id.web_view);
        mTitle   = (TextView) findViewById(R.id.user_top_view_title);
        mBack    = (ImageView) findViewById(R.id.user_top_view_back);
        
        mProgress.setMax(100);
        mTitle.setText(R.string.term_title);
        mBack.setOnClickListener(this);


        mWebView.setWebViewClient(new WebViewClient() { //通过webView打开链接,不调用系统浏览器

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                mProgress.setVisibility(View.VISIBLE);
                return true;
            }

        });

        WebChromeClient wvcc = new WebChromeClient() {
            @Override
            public void onReceivedTitle(WebView view, String title) {
                super.onReceivedTitle(view, title);
            }
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                mProgress.setProgress(newProgress);
                if(newProgress==100){
                    mProgress.setVisibility(View.GONE);
                }
                super.onProgressChanged(view, newProgress);
            }

        };
        // 设置setWebChromeClient对象
        mWebView.setWebChromeClient(wvcc);
        //此处替换你需要加载的url即可
        mWebView.loadUrl(“*****************************”);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.user_top_view_back:
                finish();
                break;
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mWebView.stopLoading();
        //清除数据
        mWebView.loadData("", "text/html", "utf-8");
    }

    @SuppressLint("NewApi")
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            finish();
        }
        return true;
    }

大功告成!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值