2017-09-19 5 views
1

Ich habe eine iframe die wie folgt aussieht:WebView auf Ausrichtung geändert

<iframe width="100%" height="100%" src="-----source----" frameborder="0" allowfullscreen></iframe> 

und Griff Orientierung von mir selbst in onConfigurationChanged. Als Layout änderte sich auch die Höhe und Breite. das Problem ist, dass nach der Rotation iframe (von Zeit zu Zeit) füllt nicht die ganze webview.

webview Einstellungen:

mWebView.setLayoutParams(new LinearLayout 
       .LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); 
mWebView.setScrollContainer(false); 
mWebView.getSettings().setJavaScriptEnabled(true); 
mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); 
mWebView.getSettings().setLoadWithOverviewMode(true); 
mWebView.getSettings().setUseWideViewPort(true); 
mWebView.setInitialScale(1); 
mWebView.setWebChromeClient(new WebChromeClient()); 
mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 
mWebView.setScrollbarFadingEnabled(false); 

so sieht es aus, dass wie:

enter image description here

, wie es zu zwingen, alle webview Inhalt zu füllen?

p.s: wenn ich hppts Seiten laden, funktioniert es ok, das Problem mit iframes nur.

+1

Das Problem ist der Prozentsatz, den Sie verwenden. Webview funktioniert nicht sehr gut mit nur Prozentsatz. Sie benötigen mindestens eine Breite oder Höhe in px. – Steven

+0

@Steven du hast recht, danke. Könnten Sie den Beitrag machen, ich werde es als eine Antwort markieren. – user5599807

Antwort

2

In Android-Webview haben Sie ein Problem mit Prozent. Was ich meine ist, wenn Sie mit gutem Beispiel ein div/iframe wie folgt erklären:

iframe{ 
    height: 100%; 
    width: 100%; 
} 

dies, weil nicht funktionieren, wenn Sie sowohl% auf width und auf height verwenden. Sie erhalten einen kleinen Bildschirm wie auf dem Foto in der Frage.

So, wie um dieses Problem zu lösen? Sie müssen mindestens eine in px deklariert haben. Sie müssen width oder height in px deklarieren.

So ein paar Beispiele:

iframe{ 
     height: 1500px; 
     width: 100%; 
    } 

oder

iframe{ 
     height: 100%; 
     width: 1500px; 
    } 
Verwandte Themen