如何使android webview扩展并使页面适合应用程序?

时间:2013-09-30 09:32:30

标签: android webview scale viewport

我正在创建一个Android应用程序,它假设像我的网站的浏览器。只需一个网站应用程序 但由于某种原因,我不能使应用程序适合并将页面扩展到应用程序。 我已经搜索过并尝试过,但没有任何效果。

以下是我的代码的一部分:

private final String URL = "http://justplaymobile.com/html5games/smedia/tiptap/";
protected void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final Activity activity = this;
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    final WebView webview = (WebView)findViewById(R.id.webview1);
    webview.setWebChromeClient(new WebChromeClient());
    webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    webview.setScrollbarFadingEnabled(true);
    webview.setPadding(0, 0, 0, 0);

    WebSettings settings = webview.getSettings();
    settings.setJavaScriptEnabled(true);
    settings.setSupportZoom(true);
    settings.setAppCacheEnabled(true);
    settings.setDatabaseEnabled(true);
    settings.setDomStorageEnabled(true);
    settings.setLoadWithOverviewMode(true);
    settings.setUseWideViewPort(true);
    settings.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);

    webview.loadUrl(URL);

    webview.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return false;
        }
        public void onPageStarted(WebView view, String url, Bitmap favicon){
            // I've tried to put stuff here which haven't helped
        }
        @Override
        public void onPageFinished(WebView view, String url){
            // I've tried to put stuff here which haven't helped
            super.onPageFinished(view, url);
        }
    });
}

当我通过浏览器进入同一个网站时,它看起来很棒并且适合带有视口元标记的窗口,但它在webview中不起作用。 我设法做的就是使页面符合webview的宽度。我也需要它适应高度。就像概述模式一样(它确实不起作用)。 我也尝试了setInitialScale的各种组合,这也没有那么有用。 我不是在寻找一种包含通过javascript进行缩放/缩放的解决方案。

  • 我正在使用SDKv10。
  • 在测试时,模拟器有时设法使页面适合webview,但是在真实设备上测试时(在多个手机和平板电脑上试过)它没有。

谢谢!

0 个答案:

没有答案