2012-07-05 7 views
0

J'ai une mise en page avec un webview et admob. Je mets également l'orientation | clavier à l'activité principale afin de gérer onConfigChanges afin de ne pas recharger le contenu de la page lors de la rotation du périphérique. Lorsque appstarts, webview est créé et le contenu est chargé, alors, admob apparaît mais webview n'est pas redimensionné automatiquement! Quand cela se produit, je transforme l'appareil en paysage et je reviens au portrait, la mise en page est redimensionnée et correctement ajustée! Comment puis-je forcer Webview à redimensionner automatiquement? J'ai essayé plusieurs options mais pas de succès! merciandroid autosize webview sans le recharger

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
       android:orientation="vertical" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent"> 


     <com.google.ads.AdView android:id="@+id/adView" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         ads:adUnitId="xxx" 
         ads:adSize="SMART_BANNER" 
         ads:testDevices="TEST_EMULATOR, xxx" 
         ads:loadAdOnCreate="true"/>  

<RelativeLayout 
        android:id="@+id/bLayout" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_below="@+id/barraSocial"> 

        <WebView 
         android:id="@+id/webviewB" 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:autoLink="web" 
         android:textColor="@android:color/black" 
         android:scrollbars="none" 
         /> 
       </RelativeLayout> 
+0

si vous voulez le faire dans votre code, il suffit de voir http://stackoverflow.com/a/33641575/3696999 :) – eJal

Répondre

0

Essayez de forcer la hauteur de votre publicité. Somethink comme ça

<com.google.ads.AdView android:id="@+id/adView" 
        android:layout_width="wrap_content" 
        android:layout_height="@dimen/adview_height" /> 

Où adview_height est la valeur stockée dans res/valeurs/dimen.xml, par exemple:

<resources> 
    <dimen name="adview_height">30dp</dimen> 
</resources> 
0

Définissez la vue comme masquée par défaut avec:

android:visibility="gone" 

et de le rendre visible lorsque le contenu est chargé:

 webView.loadUrl(url); 
     webView.setWebViewClient(new WebViewClient() { 
      public void onPageFinished(WebView view, String url) { 
       webView.setVisibility(View.VISIBLE); 
       super.onPageFinished(view, url); 
      } 
     });