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

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

默认横幅设置

32px : device screen height <= 400
50px : 400 < device screen height
<= 720
90px = device screen height > 720

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

例:

if(device.screen.height< = 400){
    WebView.height = WebView.height – “32px”
}

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

最佳答案 我不确定你是否必须在Admob横幅节目中调整你的根webview(我甚至不确定它是否可行).但是,您需要做的就是在显示横幅时重新布局主Web视图的内容.

如果我理解你的帖子,你使用
Appodeal PhoneGap Plugin真正使用一个webview组件来展示广告.在这种情况下,你知道一切:

>横幅放置(顶部或底部),b / c您明确请求它(Appodeal.BANNER_TOP | Appodeal.BANNER_BOTTOM);
>横幅尺寸(你自己描述了它);
>出现横幅的事实(document.addEventListener(‘onBannerShown’,function(){…}););

所以,我只是在我的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>

(我没试过这个代码 – 它只是向你展示了一个想法).

点赞