package com.gzsll.hupu.ui.browser; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.webkit.WebChromeClient; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.ProgressBar; import com.gzsll.hupu.R; import com.gzsll.hupu.ui.BaseFragment; import com.gzsll.hupu.widget.HuPuWebView; import butterknife.BindView; import butterknife.ButterKnife; /** * Created by sll on 2016/3/11. */ public class BrowserFragment extends BaseFragment { public static BrowserFragment newInstance(String url, String title) { return newInstance(url, title, false); } public static BrowserFragment newInstance(String url, String title, boolean external) { BrowserFragment mFragment = new BrowserFragment(); Bundle bundle = new Bundle(); bundle.putString("url", url); bundle.putString("title", title); bundle.putBoolean("external", external); mFragment.setArguments(bundle); return mFragment; } @BindView(R.id.webView) HuPuWebView webView; @BindView(R.id.progress) ProgressBar progress; private String url; private String title; private boolean external; @Override public void initInjector() { } @Override public int initContentView() { return R.layout.fragment_browser; } @Override public void getBundle(Bundle bundle) { url = bundle.getString("url"); title = bundle.getString("title"); external = bundle.getBoolean("external"); } @Override public void initUI(View view) { ButterKnife.bind(this, view); showContent(true); webView.setWebChromeClient(new WebChromeClient() { @Override public void onReceivedTitle(WebView view, String title) { if (!TextUtils.isEmpty(BrowserFragment.this.title)) { getActivity().setTitle(BrowserFragment.this.title); } } @Override public void onProgressChanged(WebView view, int newProgress) { progress.setProgress(newProgress); if (newProgress == 100) { progress.setVisibility(View.GONE); } else { progress.setVisibility(View.VISIBLE); } } }); if (external) { webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url != null) view.loadUrl(url); return true; } }); } } @Override public void initData() { webView.loadUrl(url); } public void reload() { webView.reload(); } }