【Android基础】Android WebView参数设置详解

来源:互联网 发布:javac编译java文件 编辑:程序博客网 时间:2024/05/17 09:11

1.WebView一般需要访问网络,需要在 AndroidManifest.xml里面添加权限

<span style="font-size:14px;"><uses-permission android:name="android.permission.INTERNET" /></span>
2.BackHandleFragment请参照【android进阶】Fragment内放置WebView,监听返回键,并返回之前打开的网页

public class WorkFragment extends BackHandledFragment {    private WebView webView;    private WebSettings webSettings;    private static final String APP_CACAHE_DIRNAME = "/webcache";    private String url = "https://www.baidu.com/";    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.work_fragment,container,false);        webView = (WebView)view.findViewById(R.id.workWebView);        webSettings = webView.getSettings();        webSettings.setJavaScriptEnabled(true); //支持JavaScript参数        webSettings.setUseWideViewPort(true);        webSettings.setLoadWithOverviewMode(true);        webSettings.setSupportZoom(true);  //支持放大缩小        webSettings.setBuiltInZoomControls(true); //显示缩放按钮        String cacheDirPath = getActivity().getFilesDir().getAbsolutePath()+APP_CACAHE_DIRNAME; //缓存路径        webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);  //缓存模式        webSettings.setAppCachePath(cacheDirPath); //设置缓存路径        webSettings.setAppCacheEnabled(true); //开启缓存功能        webView.setWebViewClient(new MyWebViewClient()); //WebView从自己的浏览器里打开网页        webView.loadUrl(url);  //加载URL        return view;    }    private class MyWebViewClient extends WebViewClient {        @Override        public boolean shouldOverrideUrlLoading(WebView view, String url) {                        view.loadUrl(url);            return true;        }        @Override        public void onReceivedError(WebView view, int errorCode,                                    String description, String failingUrl) {            Toast.makeText(this,"网页加载错误!",0).show();        }    }    @Override    public  boolean onBackPressed(){        if(webView.canGoBack()){            webView.goBack();            Log.v("webView.goBack()", "webView.goBack()");            return true;        }else{            Log.v("Conversatio退出","Conversatio退出");            return false;        }    }}





1 0