8
votes

Android Webview ne respecte pas le pourcentage de mise à l'échelle

J'ai un webview que j'essaie d'avoir une échelle à un certain pourcentage de chargement de la page. La version iPhone de ce logiciel utilise le META-TAG HTML:

<meta name="viewport" content="width=320, initial-scale=0.95, maximum-scale=2.0, user-scalable=1">


2 commentaires

salut ce que l'appareil Android utilisez-vous?


Emulateur, G1, Droid ... ne travaille sur aucun d'entre eux.


6 Réponses :


1
votes

Avez-vous activé la prise en charge du zoom pour votre webview? XXX


0 commentaires

5
votes

Certains périphériques HTC ont des problèmes avec webview code>, essayez cet extrait!

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


1 commentaires

0
votes

1 commentaires

Le lien semble être brisé. Je sais que ça fait longtemps, mais si vous vous souvenez de la question, pouvez-vous fournir le nouveau lien?



0
votes

peut voir plusieurs options.

1. Il y a probablement quelque chose qui ne va pas avec votre code. Voici le code le plus simple et je peux dire que cela fonctionne pour moi. Le contenu est mis à l'échelle. xxx

alors veuillez publier votre code. Tous les codes liés à la configuration WebView. Je teste sur l'émulateur 2.2

2. Probablement, il y a quelque chose qui ne va pas avec l'URL que vous testez. Vous pouvez tester " http://stackoverflow.com " en test avec elle et il est bien échoué.

3. Peut-être que nous utilisons différents SDKS. Quel SDK construisez-vous? Je veux dire quelle est votre cible de défaut.properties? Quel est votre utilisateur-sdk dans androidmanifest.xml?

Voici un test simple qui fonctionne bien pour moi http://open-pim.com/tmp/webviewtest.zip . Vous pouvez l'essayer aussi.


2 commentaires

Cela a fonctionné! Mais pas dans mes applications. Éteignez les étiquettes Meta Viewport: Initial-Scale = 1.0; Échelle maximale = 1,0; empêchaient la séduction () de travailler. Après leur retrait, cela fonctionne.


Cet exemple ne fonctionne pas avec WebView sur Android 2.3.6. Le site Web Stackoverflow n'est pas mis à l'échelle.



0
votes

Le méta tag fonctionne pour moi, si je sépare les paramètres avec des points-virgules (;) au lieu des virgules (,). J'ai utilisé cela dans le passé: xxx

et cela fonctionne, au moins dans le navigateur. Je ne suis pas sûr d'un webview , mais cela vaut peut-être une photo.


2 commentaires

les ';' n'a rien fait pour moi.


C'est un contenu invalide, uniquement des virgules sont autorisées: CSS-Tricks.com/snippets/ HTML / Responsive-Meta-Tag



1
votes

Le code ci-dessous m'a aidé quand le mien ne répondait pas. Vaut une photo: xxx


1 commentaires

Cela ne fonctionne pas sur mon téléphone Android 2.3.6. Réglage L'échelle initiale pour la fenêtre n'a toujours aucun effet.