Android应用中的webview问题

时间:2011-08-10 07:19:56

标签: android webview viewport

我正在设计一个适用于andorid和ios应用程序的应用程序。在这个特定的活动中,我正在加载一个包含图像的URL。图像的大小为 宽度 - 960和高度 - 640。

在php代码中我们添加了以下行

<meta name="apple-mobile-web-app-capable" content="yes">
<meta names="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name='viewport' content='width=320'/>

这样网页就可以适应屏幕尺寸。这适用于iPhone,而在Android设备中我已经在webview中加载了页面。我的布局如下

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <WebView android:id="@+id/webView1" 
             android:layout_width="fill_parent" 
             android:layout_height="fill_parent">
    </WebView> 
</LinearLayout>

在我的编码部分如下

webView = (WebView)findViewById(R.id.webView1);         
WebSettings webSettings = webView.getSettings();
webSettings.setUseWideViewPort(true);
webSettings.setLoadWithOverviewMode(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://xxxxxxxx.com/page/8");

但仍然在Android 2.1版本的480x854设备中,我在网页的右下角有一些空格

在android2.2的WVGA854模拟器中,视图会出现水平和垂直滚动条。

在所有Android设备中,我需要网页完全符合屏幕尺寸,没有任何空格或滚动条。如何获得这个......

3 个答案:

答案 0 :(得分:0)

您可以尝试将视口元标记更改为:

<meta name="viewport" 
      content="width=device-width, initial-scale=1, maximum-scale=1">

答案 1 :(得分:0)

尝试将android:scrollbarStyle="outsideOverlay"属性添加到WebView xml说明。

答案 2 :(得分:0)

我解决了以下问题

webView = (WebView)findViewById(R.id.webView1);

        if(width == 320 || width == 360)
        {
            WebSettings webSettings = webView.getSettings();
            webSettings.setUseWideViewPort(true);
            webSettings.setLoadWithOverviewMode(true);
            webView.getSettings().setJavaScriptEnabled(true);
                    webView.loadUrl("http://xxxxxxxxxx.com/get/6");
        }

        else if(width == 480)
        {
            WebSettings webSettings = webView.getSettings();
            webSettings.setUseWideViewPort(true);
            webView.setInitialScale(85);
            webView.getSettings().setJavaScriptEnabled(true);
            webView.loadUrl("http://xxxxxxxxxx.com/get/6");
        }
        else if(width == 540)
        {
            WebSettings webSettings = webView.getSettings();
            webSettings.setUseWideViewPort(true);
            webView.setInitialScale(90);
            webView.getSettings().setJavaScriptEnabled(true);
            webView.loadUrl("http://xxxxxxxxxx.com/get/6");
        }
        else if(width > 540)
        {
            webView.getSettings().setJavaScriptEnabled(true);
            webView.loadUrl("http://xxxxxxxxxx.com/get/6");
        }
        else
        {
            WebSettings webSettings = webView.getSettings();
            webSettings.setUseWideViewPort(true);
            webSettings.setLoadWithOverviewMode(true);
            webView.getSettings().setJavaScriptEnabled(true);
            webView.loadUrl("http://xxxxxxxxxx.com/get/6");
        }