javascript - 如何使html在android浏览器的webview上填充全屏高度

标签 javascript android css webview

我在 AppCompatActivity 上添加了一个 webview,并想让它全屏显示。我已经尝试过此链接 ( How to make full screen in Android 4.0 ) 中提到的方法,但它没有帮助。

下面是布局xml文件。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.lenovo.mds.mbgcompass.MainActivity">

<WebView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/webView"
    />
</RelativeLayout>

下面是 MainActivity 类:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

    webView = (WebView) findViewById(R.id.webView);
    setupWebView();
}

private void setupWebView(){
    webView.getSettings().setSupportZoom(true);
    webView.getSettings().setBuiltInZoomControls(false);
    webView.getSettings().setCacheMode(android.webkit.WebSettings.LOAD_NO_CACHE);
    webView.getSettings().setDefaultTextEncodingName("UTF-8");
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setDatabaseEnabled(true);
    webView.getSettings().setDomStorageEnabled(true);
    webView.getSettings().setAllowFileAccess(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.loadUrl("file:///android_asset/index.html");
}

下面是使 html dom 为 100% 高度的 html css 样式。但它不适用于安卓浏览器。如果我将高度更改为“100hv”,它只适用于 chrome 浏览器而不适用于 android 浏览器。我还应该尝试什么来使 html dom 填充屏幕的 100% 高度?

var style = {
width: '100%',
margin: '0 auto',
height: '100%'
}

请看下面的截图。我认为 webview 正在填充设备的全屏,但 webview 中的 html 没有填充。如何在底部填充空间?

enter image description here

最佳答案

里面没有问题。但是,按如下方式编辑您的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.lenovo.mds.mbgcompass.MainActivity">

<WebView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentBottom="true"
    android:id="@+id/webView"
    />
</RelativeLayout>

关于javascript - 如何使html在android浏览器的webview上填充全屏高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37456379/

相关文章:

java - 如何修复 "startActivity() in ContextCompat cannot be applied to?"

android - 淡化多行 TextView 中的最后一行

javascript - 如何在 ExtReact 中显示菜单时停止圆圈单击按钮;

html - 我怎样才能使文本在 div 中响应

javascript - 如何在 Angular 中设置动态填充的字符串(插入的字符串)的样式?

javascript - 编译后按一定顺序连接 typescript 文件

javascript - 从二维数组javascript中提取最后一个元素

Javascript - 在水平滚动菜单中加载页面时自动滚动到事件菜单项

java - 在执行某些操作后设置 ListView 背景颜色

html - 如何在angularjs中与小数值一起总和?