2012-07-05 193 views
0

我有一个webview和admob的布局。为了在设备旋转时不重新加载页面内容,我还将方向键设置为主要活动,以便处理onConfigChanges。 当appstarts,创建webview并加载内容时,admob出现,但webview不会自动调整大小!发生时,我将设备转到横向并返回肖像,布局调整大小并正确安装! 我如何强制webview再次自动调整大小?我尝试了几个选项,但没有成功!谢谢android autosize webview无需重新加载

<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

如果您想在代码中执行此操作,请参阅http://stackoverflow.com/a/33641575/3696999 :) – eJal 2015-11-10 23:28:17

回答

0

试着强制你的adview的高度。 Somethink像

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

哪里adview_height是存储在res /值/ dimen.xml的值,例如:

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

尝试将视图与隐藏由默认:

android:visibility="gone" 

并将其设置为在内容加载时可见:

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