Je rencontre un problème lors de l'affichage d'un WebView dans une activité au milieu de l'écran. J'ai une activité et je veux montrer une webview au centre de l'écran. Mon activité est transparente, donc l'activité de fond sera visible. Chaque fois que j'essaie de créer un webview et de l'ajouter à l'activité en utilisant setContentView (webview), il affiche toujours la vue dans le coin supérieur gauche de l'écran. Est-ce leur moyen de contourner le problème? J'essaie de le faire uniquement par le biais du code pur. Voici mon code. comment afficher un webview dans une activité au milieu de l'écran
protected void onCreate(Bundle savedInstance) {
//some initialization stuff
LinearLayout ll = new LinearLayout(activity);
ll.setOrientation(LinearLayout.VERTICAL);
ll.setGravity(Gravity.CENTER_HORIZONTAL);
ll.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT));
ll.setBackgroundColor(android.R.color.transparent);
ll.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL); //added after suggestion
webView = new WebView(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.loadUrl(" http://www.google.com ");
ll.addView(webView);
webView.setBackgroundColor(android.R.color.transparent);
setContentView(ll);
}
.
J'ai mis à jour la question avec du code. La gravité fonctionne bien, le webView est centré avec. Est-il possible de limiter sa taille à 300 x 200, quelle que soit la taille de la page de chargement, et le reste du contenu doit être rogné ou des barres de défilement horizontales/verticales peuvent être affichées. Merci! – bhups
oui, vous pouvez le faire via setLayoutParams, soit pour le LinearLayout environnant ou le WebView lui-même; au lieu d'utiliser ViewGroup.LayoutParams.FILL_PARENT: LinearLayout.LayoutParams params = new LinearLayout.LayoutParams (300, 200); ll.setLayoutParams (params); –