package net.xndroid; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; public class WebViewFragment extends Fragment { private View mRootView; private WebView mWebView; private String mURL; public void setURL(String url){ this.mURL = url; } @Override public void onStart() { super.onStart(); mWebView.onResume(); //For: cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: // mWebView.postDelayed(new Runnable() { // @Override // public void run() { // mWebView.loadUrl(mURL); // } // }, 500); mWebView.loadUrl(mURL); } public void postPause() { if(mWebView != null) mWebView.onPause(); } public void postStop() { if(mWebView != null) mWebView.destroy(); } private void setWebView() { WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true);//如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript webSettings.setUseWideViewPort(true); //将图片调整到适合webview的大小 webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小 webSettings.setSupportZoom(true); //支持缩放,默认为true。是下面那个的前提。 webSettings.setBuiltInZoomControls(true); //设置内置的缩放控件。若为false,则该WebView不可缩放 webSettings.setDisplayZoomControls(false); //隐藏原生的缩放控件 webSettings.setAllowFileAccess(true); //设置可以访问文件 webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口 webSettings.setLoadsImagesAutomatically(true); //支持自动加载图片 webSettings.setDefaultTextEncodingName("utf-8");//设置编码格式 webSettings.setDomStorageEnabled(true); mWebView.setWebViewClient(new WebViewClient()); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if(mRootView !=null ) return mRootView; mRootView = inflater.inflate(R.layout.fragment_web_view, container, false); mWebView = (WebView) mRootView.findViewById(R.id.webview); setWebView(); return mRootView; } }