如何在Cordova / Phonegap项目上设置条件WebView调整大小?

时间:2016-06-02 00:06:04

标签: java cordova webview

我使用的插件创建了另一个与主要应用WebView重叠的WebView(Appodeal横幅)。这不是解决操纵HTML标签的好方法,因为元素混乱

默认横幅设置

  

32px:设备屏幕高度< = 400
  50px:400<设备屏幕高度   < = 720
  90px =设备屏幕高度> 720

因此,webview必须根据Appodeal横幅高度调整高度。

示例:

if (device.screen.height <= 400) { WebView.height = WebView.height - "32px" }

PS:我不是Java程序员Web开发人员

1 个答案:

答案 0 :(得分:2)

我不确定您是否必须在Admob横幅广告中调整您的根网页视图(我甚至不确定它是否可行)。但是,您需要做的就是在显示横幅时重新布局主Web视图的内容。 如果我理解你的帖子,你可以使用Appodeal PhoneGap Plugin真正使用一个webview组件来展示广告。在这种情况下,您了解一切:

  1. 横幅展示位置(顶部或底部),b / c您明确请求它(Appodeal.BANNER_TOP | Appodeal.BANNER_BOTTOM);
  2. 横幅尺寸(您自己描述了它);
  3. 横幅出现的事实(document.addEventListener('onBannerShown', function(){...}););
  4. 所以,我只是在我的HTML模板中准备一个空占位符,添加CSS规则,在没有显示Appodeal横幅时隐藏它们,onBannerShown事件将显示相应的占位符并调整我的所有webview内容

    <style>
      .appodeal-top {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 0;
      }
      .main-content {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
      }
      .appodeal-show .appodeal-top {
        /* replace it with appropriate value calculated on device height */
        height: 50px;
      }
      .appodeal-show .main-content {
        /* replace it with appropriate value calculated on device height */
        top: 50px;
      }
    </style>
    <script>
      document.addEventListener('onBannerShown', function(){
        document.getElementById('root').className = 'appodeal-show';
      });
    </script>
    <div id="root">
      <div class="appodeal-top"></div>
      <div class="main-content">
      ...
      </div>
    </div>
    

    (我没有尝试过这段代码 - 它只是向您展示了一个想法)。