sbj Posté(e) 5 septembre 2011 Share Posté(e) 5 septembre 2011 Bonjour, J'ai un problème avec l'affichage de ma WebView : sa hauteur dépasse (parfois, souvent... à vrai dire aléatoirement!!) la hauteur de son contenu... En fait ma WebView n'ai pas scrollable, car elle est contenu dans une ScrollView avec d'autres composants. Pour être plus claire, dans mon Activity j'ai deux EditText, une ImageView, ma WebView, puis un troisième EditText (qui se retrouve donc aléatoirement distant de la WebView du dessus!) Dans mon Layout: <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/txtArticleTitre" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/txtArticleDate" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" > <ImageView android:id="@+id/imgArticle" android:layout_width="320dip" android:layout_height="220dip" android:adjustViewBounds="true"> </ImageView> </LinearLayout> <WebView android:id="@+id/wvArticle" android:layout_width="wrap_content" android:layout_height="wrap_content" > </WebView> </LinearLayout> </ScrollView> Dans mon Activity: WebView wv = (WebView)findViewById(R.id.wvArticle); wv.setScrollContainer(false); WebSettings webSettings = wv.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setPluginsEnabled(true); webSettings.setBuiltInZoomControls(false); webSettings.setSupportZoom(false); String pageHtml = "......"; // String contenant mon code HTML pour ma WebView wv.loadDataWithBaseURL(null, pageHTML, "text/html", "UTF-8", null); J'attends un petit indice qui pourrait me donner une piste à explorer, car je désespère!! Ça fait plusieurs jours que je cherche en vain... Merci d'avance :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kricek Posté(e) 5 septembre 2011 Share Posté(e) 5 septembre 2011 Salut sbj! Première chose (qui n'a rien à voir...): Pourquoi avoir mis ton ImageView dans une LinearLayout? Pour ton problème, as-tu essayé d'activer le zoom sur ta WebView? webSettings.setBuiltInZoomControls(true); webSettings.setSupportZoom(true); En fait, tout dépend du résultat que tu veux obtenir à l'arrivée... Tu peux également jouer avec les paramètres de ta WebView: <WebView android:id="@+id/wvArticle" android:layout_width="fill_parent" android:layout_height="wrap_content" > </WebView> Fill_parent: Prend la largeur du layout parent Wrap_content: Peu importe le layout parent, la web view prendra la place qu'elle a besoin de prendre, même en dépassant... Lien vers le commentaire Partager sur d’autres sites More sharing options...
sbj Posté(e) 6 septembre 2011 Auteur Share Posté(e) 6 septembre 2011 Salut sbj! Première chose (qui n'a rien à voir...): Pourquoi avoir mis ton ImageView dans une LinearLayout? Pour ton problème, as-tu essayé d'activer le zoom sur ta WebView? webSettings.setBuiltInZoomControls(true); webSettings.setSupportZoom(true); En fait, tout dépend du résultat que tu veux obtenir à l'arrivée... Tu peux également jouer avec les paramètres de ta WebView: <WebView android:id="@+id/wvArticle" android:layout_width="fill_parent" android:layout_height="wrap_content" > </WebView> Fill_parent: Prend la largeur du layout parent Wrap_content: Peu importe le layout parent, la web view prendra la place qu'elle a besoin de prendre, même en dépassant... Merci pour ta réponse. En fait pour ce qui est de l'ImageView: elle est dans un LinearLayout dont la gravity est "center" pour que l'image soit centrer dans mon écran (car la taille de l'image est fixée dans le code...) Bref, pour l'ImageView tout marche nickel en tout cas... Et pour ce qui est de ma WebView : j'ai désactiver le zoom, car je modifie la taille de la police avec une fonction javascript (J'ai deux bouton: + et - qui appellent respectivement les fonctions AgrandireTaille() et RéduireTaille() définies dans mon String pageHtml... et ça marche très bien aussi!) Voici mon String pageHtml pour que ce soit plus claire: String pageHTML = "<HTML> " + "<HEAD>" + "<link rel=\"stylesheet\" href=\"css/all.css\"> " + "<link rel=\"stylesheet\" href=\"css/mdpi.css\" media=\"only screen and (-webkit-max-device-pixel-ratio:1.0) and (max-device-width:480px)\">" + "<link rel=\"stylesheet\" href=\"css/hdpi.css\" media=\"only screen and (-webkit-min-device-pixel-ratio:1.5)\">" + "<meta name=\"viewport\" content=\"user-scalable=no, width=device-width, target-densitydpi=device-dpi\">" + "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />" + "<TITLE>Android| "+title+"</TITLE>" + "<STYLE type=\"text/css\">" + "P { text-align : justify; font-size:16px; }" + "BODY { height : 100%; width : auto; }" + ".conteneur_liste {" + "max-width : "+mScreenWidth+"px;" + "position: relative;" + "float: left;" + "height: auto;" + "font-family:Arial, Helvetica, sans-serif;" + "font-size: 16px;" + "text-align: justify;" + "bottommargin: 0; " + "}" + ".conteneur_liste img {" + "width : "+(mScreenWidth-35)+"px;" + "position:relative;" + "float:left;" + "height:auto;" + "padding-left:5px;" + "padding-bottom:10px;" + "margin:0;" + "}" + ".auteur {" + "height:auto;" + "text-align:right;" + "color:black;" + "font-family:bold;" + "padding-bottom:10px;" + "}" + "</STYLE>" + "<script type=\"text/javascript\">" + "var currentSize = 16;" + "var minSize = 12;" + "var maxSize = 24;" + "var h = 0;" + "function AgrandirTaille() {" + "currentSize += 2;" + "currentSize = (currentSize<minSize) ? minSize : ((currentSize>maxSize) ? maxSize : currentSize);" + "document.getElementById(\"content\").style.fontSize = currentSize+'px';" + "}" + "function ReduireTaille() {" + "currentSize = currentSize-2;" + "currentSize = (currentSize<minSize) ? minSize : ((currentSize>maxSize) ? maxSize : currentSize);" + "document.getElementById(\"content\").style.fontSize = currentSize+'px';" + "}" + "</script>" + "</HEAD>" + "<BODY>" + "<div class=\"conteneur_liste\">"+ "<p id=\"content\">"+description+"</p>"+ "<p class=\"auteur\">"+auteur+"</p>"+ "</div>"+ "</BODY>" + "</HTML>"; Concernant les paramètres de la WebView, même avec: <WebView android:id="@+id/wvArticle" android:layout_width="fill_parent" android:layout_height="wrap_content" > </WebView> ... j'ai toujours le même problème!!!!!! Je ne vois pas du tout d'où peut provenir l'erreur!! :mad: Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.