Un composant WebBrowser natif est mis en forme de façon asynchrone, ce qui signifie que sa taille préférée est calculée ultérieurement et que la mise en page le place avec une taille 0,0. Sur RIM, nous utilisons par défaut l'héritage HTMLComponent (de J2ME) puisque le composant de navigateur natif de RIM est floconneux, c'est pourquoi la version RIM fonctionne pour vous alors que la version Android ne fonctionne pas. Le HTMLComponent ne prend en charge qu'un sous-ensemble de HTML/CSS et ne prend en charge aucun JavaScript, ce n'est probablement pas ce que vous voulez utiliser. Vous pouvez activer le composant de navigateur RIM natif (bien qu'il soit flasque et présente de nombreux problèmes connus sans solution de contournement) en définissant l'argument de construction: rim.nativeBrowser = true
Vous pouvez définir ces arguments dans les propriétés du projet pour Codename One, Si cela fonctionne pour vous, c'est génial.
Pour résoudre le problème de mise en page, vous pouvez utiliser une mise en page comme BorderLayout lorsque vous placez le navigateur .: par exemple
form.setLayout(new BorderLayout());
form.addComponent(BorderLayout.CENTER, browser);
Ce étirera le composant sur l'écran en ignorant sa taille préférée. Alternativement, vous pouvez suivre les événements du navigateur et revalider ou coder en dur une valeur de taille préférée (que je ne recommanderais pas).
Des suggestions? Toujours en attente – klipse