Ich bin nicht sicher, dass Sie Ihre Wurzel Webansicht auf Admob Banner zeigen die Größe haben (ich bin nicht einmal sicher, dass es überhaupt möglich ist). Alles, was Sie tun müssen, ist, den Inhalt Ihres Haupt-Webview neu zu gestalten, wenn das Banner angezeigt wird. Wenn ich Ihre Post richtig verstanden habe, verwenden Sie Appodeal PhoneGap Plugin, die wirklich eine weitere Webview-Komponente verwendet, um Anzeigen zu zeigen. In diesem Fall wissen Sie alles über:
- Bannerplatzierung (oben oder unten), b/c Sie fordern explizit (
Appodeal.BANNER_TOP | Appodeal.BANNER_BOTTOM
);
- Bannergröße (Sie beschrieben es selbst in Frage);
- Eine Tatsache, dass Banner angezeigt wird (
document.addEventListener('onBannerShown', function(){...});
);
Also, ich würde nur eine leere Platzhalter in meiner HTML-Vorlage vorbereiten, CSS-Regeln hinzufügen, mit denen sie sich verstecken, wenn kein Appodeal Banner angezeigt, und onBannerShown
Ereignis entsprechende Platzhalter angezeigt werden und all meinem webview Inhalt ändern.
<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>
(Ich habe diesen Code nicht versucht - es zeigt Ihnen nur eine Idee).
Es ist nicht wirklich klar. Sie möchten die Größe des primären Webview ändern, nachdem ein sekundärer Webview (Appodeal) hinzugefügt wurde? Wenn ja, können Sie das Ereignis nicht abfangen, wenn die sekundäre Ansicht angezeigt wird, die Größe ermitteln und die Größe der primären Webansicht so anordnen, dass kein Anzeigekonflikt auftritt? – nyluje
@nyluje Ja! Du hast es. –
Also müssen Sie die primäre Webview-Größe in JAVA neu definieren? Es klingt, dass Sie ein Plugin erstellen müssen, um das primäre Webview zu ändern, sobald der sekundäre WebView angezeigt wird. Sehen Sie sich dieses Dokument an: https://www.ibm.com/developerworks/community/blogs/worklight/entry/android_combining_native_and_web_controls_in_cordova_based_applications?lang=de – nyluje