安卓 WebView : how to let the css use the entire height w/position absolute?

标签 android webview height

我有一个非常灵敏的 html/css 页面,它使用 position:absolute 来放置元素。例如用户名输入将有

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

在所有浏览器中一切正常,但 webView android 存在高度问题。

它似乎是自适应内容的高度,而不是像任何浏览器那样“存在”某个高度,让 css 处理那个任意高度。

我没有发现宽度有任何问题,但这可能是一种错觉。

我尝试在视口(viewport)元标记中使用和不使用 height=device-height。不会改变任何东西。

这是我的 webView 代码:

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;
    }
}

最佳答案

所以在我的例子中,问题是我使用 align parent 而不是 math_parent 来设置 WebView 的高度。

我在用这个:

android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"

而不是这个,正确的方法:

android:layout_width="match_parent"
android:layout_height="match_parent"

关于安卓 WebView : how to let the css use the entire height w/position absolute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39049071/

相关文章:

android - 移动到 SD 卡?

android - 在 Android WebView 中平移后单点触摸意外滚动

ios - 使用代码调整 UIButton 高度?

jQuery - 动态 div 高度

java - httpget 使用相同的应用程序和 PHP 文件从本地和互联网网络服务器获得不同的响应

java - 如何从android中的一个Arraylist中获取单独的数据项值

android - iOS 的相关概念,例如 "APK Expansion Files in Android"

android - 在新的 WebView 中显示 HttpResponse(来自处理程序的字符串)

html - iframe 到达页面底部

android - 如何在 Android 中使用 .so 和 .h 文件?