如何制作全屏webview

时间:2013-11-24 19:24:27

标签: android webview fullscreen

如何使Android应用程序的webview全屏显示。我已经在布局xml文件中添加了webview,但它不会延伸到布局的边缘,webview的所有边都有一些类型的边距。我还添加了一个图像,让你们看一下它实际上是什么样子。

What i am talking about is the space all around the webview, not the notification bar or the title bar

我所说的是webview周围的空间,而不是通知栏或标题栏

这是布局代码:

<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".WebView" >

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Shake / Tilt Your Phone To Get Accelerometer Motion Alerts" />

<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" />

</RelativeLayout>

7 个答案:

答案 0 :(得分:17)

从上面的代码中移除padding tags -

android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"

它将完成这项工作,并确保将您正在渲染的HTML边距/填充删除到可能包含那些留下一些空间的标记的WebView中。

答案 1 :(得分:9)

只需在AndroidManifest.xml文件中添加(或更改)活动的android:theme属性以及以下行

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

答案 2 :(得分:4)

Android版:4.2.2 - 设备:Vega Tablet

WebView隐藏状态和系统栏并显示完整的屏幕我按照以下步骤操作。

<强>的AndroidManifest.xml

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name">
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

<强> MainActivity.java

super.onCreate(savedInstanceState);
getWindow().getDecorView().setSystemUiVisibility(0x10);
setContentView(R.layout.activity_main);
String url = "http://edition.cnn.com/";
WebView webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setUserAgentString("Desktop");
webView.loadUrl(url);

上述过程对我有用,我的应用程序以完整的屏幕显示。

答案 3 :(得分:2)

将webview放入对话框弹出窗口。

WebView webview = new WebView(this/*put your activity object*/);
    webview.getSettings().setLoadWithOverviewMode(true);
    webview.getSettings().setUseWideViewPort(false);
    webview.getSettings().setSupportZoom(false);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.setBackgroundColor(Color.TRANSPARENT);
    webview.loadUrl("http://www.awwwards.com/websites/responsive-design/");

    RelativeLayout.LayoutParams paramsWebView = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
    Dialog dialog = new Dialog(this/*put your activity object*/, android.R.style.Theme_Black_NoTitleBar_Fullscreen);
    dialog.addContentView(webview, paramsWebView);
    dialog.show();

答案 4 :(得分:0)

您可以在res / values文件夹中的dimens.xml中设置尺寸。默认情况下它是16dp。所以可以相应地设置它。

enter image description here

答案 5 :(得分:0)

您应该更改相对布局设置。并删除XML文件上的webview上的填充设置。

&#13;
&#13;
<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=".MainActivity"
    android:id="@+id/frame">
&#13;
&#13;
&#13;

答案 6 :(得分:0)

来自文档https://developer.android.com/guide/webapps/webview.html

<?xml version="1.0" encoding="utf-8"?>
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/>
  

FILL_PARENT(在API级别8及更高级别重命名为MATCH_PARENT),这意味着视图要与其父级一样大(减去填充)

https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html