Android WebView: Wie lässt man die CSS die gesamte Höhe mit absoluter Position nutzen?

Ich habe eine sehr reaktionsschnelle HTML / CSS-Seite, die position: absolute verwendet, um Elemente zu platzieren. z.B. Ein eingegebener Benutzername hat

position:absolute;
top:30%;
height:8%;
left:35%;
right:65%;

Alles funktioniert gut in allen Browsern, aber WebView Android hat ein Problem mit der Höhe.

Es scheint, dass es sich an die Höhe des Inhalts anpasst, anstatt wie jeder Browser eine bestimmte Höhe zu "haben", und das CSS mit dieser willkürlichen Höhe umgehen lässt.

Ich sehe kein Problem mit der Breite, aber das könnte eine Illusion sein.

Ich habe es mit und ohne height = device-height im Viewport-Meta-Tag versucht. Ändert nichts.

Hier ist mein WebView-Code:

public void openWebview(String url){
    WebView webView = (WebView) findViewById(R.id.webView);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
    webView.setWebViewClient(new ourViewClient());
    try {
        webView.loadUrl(url);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public class ourViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage