公司是开发cocos2dx的游戏,需要一个简单的公告展示,一方面公司没有html5的技术力量储备,另一方面公司在手机网页上面也没有适配的经验,最后这么一个苦逼的活就被丢在了WebView上面了。
<pre name="code" class="java"> /** * <meta name="viewport" content="width=640"/>html不使用 * content="width=device-width" webView自定义控件,尺寸不是屏的 * 幕大小 */ webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); webView.setHorizontalScrollbarOverlay(true); webView.getSettings().setJavaScriptEnabled(true); /** 浏览器自带的缩放不能让你返回到初始设置的缩放尺寸(setInitialScale(int scale)), * 其中的缩放比例应该是固定的差值 暂不支持缩放 */ webView.getSettings().setSupportZoom(false); /** LayoutAlgorithm.SINGLE_COLUMN把所有内容放到WebView组件等宽的一列中。 * 这个是强制的,会把复杂的网页挤变形 */ webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); float sScale = fWidth / webWidth * 100; webView.setInitialScale((int)sScale); /** * WebView常用的监听 */ webView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { // return true; } }); webView.setDownloadListener(new DownloadListener() { @Override public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { // } }); webView.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { if (newProgress == 100) { // } super.onProgressChanged(view, newProgress); } });
时间: 2024-10-13 17:05:52