проблема веб-просмотра в приложении для Android - PullRequest
0 голосов
/ 10 августа 2011

Я разрабатываю приложение, общее для приложений 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 я загрузил страницу в веб-обозрение.Мой макет выглядит следующим образом

<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");

Но все же в моем устройстве 480x854 на версии Android 2.1 я получаю пробелы внизу иправый угол веб-страницы

Где, как и в эмуляторе WVGA854 для android2.2, вид отображается с горизонтальной и вертикальной полосами прокрутки.

Во всех устройствах Android мне нужна веб-страница длябыть точно в пределах размера экрана, без каких-либо пробелов или полос прокрутки. как получить это .....

Ответы [ 3 ]

0 голосов
/ 10 августа 2011

Попробуйте добавить атрибут android:scrollbarStyle="outsideOverlay" в описание WebView xml.

0 голосов
/ 12 августа 2011

Я решил проблему следующим образом

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");
        }
0 голосов
/ 10 августа 2011

Вы можете попробовать изменить метатег области просмотра на:

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