Веб-представление Android, не уважая масштабирующийся процент

У меня есть веб-представление, которое я пытаюсь иметь масштаб к определенному проценту при загрузке страницы. Версия iPhone этого программного обеспечения использует метатег HTML:


Так как веб-представление Android, кажется, не уважает тот тег я трудно кодированный процент с помощью setInitialScale (). Однако веб-представление, просто утончаются, игнорируя этот вызов метода. Какое число я поместил там, оно показывает в 100%.

Идеи?

Обновление: это не работает в эмуляторе на моем Droid (Motorola), или на моем G1 (HTC).

8
задан Jeremy Logan 11 June 2010 в 22:27
поделиться

5 ответов

На некоторых устройствах HTC возникают проблемы с WebView , попробуйте этот фрагмент!

import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;

myWebView = new WebView(this);
myWebView.getSettings().setLoadsImagesAutomatically(true);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setBuiltInZoomControls(true);
myWebView.setInitialScale(100);      
try {
   Method m = myWebView.getClass().getMethod("setIsCacheDrawBitmap", boolean.class);
    if (m != null) {
        m.invoke(myWebView, false);
        myWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
    }
} catch (NoSuchMethodException e) {
} catch (IllegalAccessException e) {
} catch (InvocationTargetException e) {
}

myWebView.loadUrl("http://www.stackoverflow.com");
5
ответ дан 5 December 2019 в 21:16
поделиться

Включили ли вы поддержку масштабирования для своего веб-просмотра?

    WebSettings webSettings = mywebView.getSettings();
    webSettings.setSupportZoom(true);       
1
ответ дан 5 December 2019 в 21:16
поделиться

Тег meta работает для меня, если я разделяю параметры точкой с запятой (;) вместо запятой (,). Я использовал это в прошлом:

<meta name="viewport" content="initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />

И это работает, по крайней мере в браузере. Я не уверен насчет WebView, но, возможно, стоит попробовать.

0
ответ дан 5 December 2019 в 21:16
поделиться

Можно увидеть несколько вариантов.

1. Возможно, с вашим кодом что-то не так. Вот самый простой код, и я могу сказать, что он мне подходит. Контент масштабируется.

WebView webview1 = (WebView) findViewById(R.id.webview1);
webview1.setInitialScale(30);
webview1.loadUrl("http://stackoverflow.com");

Пожалуйста, разместите свой код. Весь код, относящийся к конфигурации WebView. Тестирую на эмуляторе 2.2

2. Возможно, что-то не так с проверяемым URL. Вы можете протестировать " http://stackoverflow.com ", пока я тестирую его, и он отлично масштабируется.

3. Может быть, мы используем разные SDK. Против какого SDK вы строите? Я имею в виду, какова ваша цель в default.properties? Какой у вас uses-sdk в AndroidManifest.xml?

Вот простой тест, который мне подходит http://open-pim.com/tmp/WebViewTest.zip . Вы тоже можете попробовать.

0
ответ дан 5 December 2019 в 21:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: