移除 Android webview 左右边距

Posted

技术标签:

【中文标题】移除 Android webview 左右边距【英文标题】:Remove Android webview margin right and left 【发布时间】:2017-03-11 15:31:40 【问题描述】:

我正在开发一个 webview 应用程序,我的问题是左右两边都有边距,我是初学者,我不知道如何删除它们,请帮忙。 注意:请在您的答案中具体说明,例如:将此代码添加到名为 layout 的 java 框中的全屏内容中。

非常感谢,这里是代码: 1-布局-全屏活动文件夹

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_fullscreen);
        WebView view = (WebView) this.findViewById(R.id.webView);
        view.setWebViewClient(new WebViewClient());
        view.loadUrl("http://google.com");

        view.getSettings().setjavascriptEnabled(true);

        mVisible = true;
        mControlsView = findViewById(R.id.webView);
        mContentView = findViewById(R.id.webView);


        // Set up the user interaction to manually show or hide the system UI.
        mContentView.setOnClickListener(new View.OnClickListener() 
            @Override
            public void onClick(View view) 
                toggle();
            
        );

        // Upon interacting with UI controls, delay any scheduled hide()
        // operations to prevent the jarring behavior of controls going away
        // while interacting with the UI.

    



    @Override
    protected void onPostCreate(Bundle savedInstanceState) 
        super.onPostCreate(savedInstanceState);

// Trigger the initial hide() shortly after the activity has been
        // created, to briefly hint to the user that UI controls
        // are available.
        delayedHide(100);


    

    private void toggle() 
        if (mVisible) 
            hide();
         else 
            show();
        
    

    private void hide() 
        // Hide UI first
        ActionBar actionBar = getSupportActionBar();
        if (actionBar != null) 
            actionBar.hide();
        
        mControlsView.setVisibility(View.GONE);
        mVisible = false;

清单文件夹中的2-android清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="eizeasta.resale">
    <uses-permission android:name="android.permission.INTERNET" />



    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity
            android:name=".FullscreenActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/app_name"
            android:theme="@style/FullscreenTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

java文件夹中的3-activity全屏

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    android:background="#0099cc"
    tools:context="eizeasta.resale.FullscreenActivity">

    <!-- The primary full-screen view. This can be replaced with whatever view
         is needed to present your content, e.g. VideoView, SurfaceView,
         TextureView, etc. -->

    <TextView
        android:id="@+id/fullscreen_content"
        android:layout_
        android:layout_
        android:gravity="center"
        android:keepScreenOn="true"
        android:text="@string/dummy_content"
        android:textColor="#33b5e5"
        android:textSize="50sp"
        android:textStyle="bold" />

    <!-- This FrameLayout insets its children based on system windows using
         android:fitsSystemWindows. -->

    <WebView
        android:layout_
        android:layout_
        android:id="@+id/webView"
        android:layout_gravity="center" />

    <FrameLayout
        android:layout_
        android:layout_
        android:fitsSystemWindows="true">

        <LinearLayout
            android:id="@+id/fullscreen_content_controls"
            style="?metaButtonBarStyle"
            android:layout_
            android:layout_
            android:layout_gravity="bottom|center_horizontal"
            android:background="@color/black_overlay"
            android:orientation="horizontal"
            tools:ignore="UselessParent">

        </LinearLayout>

    </FrameLayout>

</FrameLayout>

【问题讨论】:

尝试将 webview 的宽度和高度从 matchparent 更改为 wrap_content 【参考方案1】:

我发现了问题,刚刚添加了这段代码,webview就适合全屏了。

mWebView.getSettings().setUseWideViewPort(true);
        mWebView.getSettings().setLoadWithOverviewMode(true);

【讨论】:

如果在应用此答案中的代码后,您的 html 内容变得太小而无法舒适,您可以使用mWebView.getSettings().setTextZoom(percent),将内容缩放到您想要的大小【参考方案2】:

除了你提到的那个之外,还有其他的xml文件吗?您可能有另一个布局,它是父级。有边距的父布局可以解释发生了什么。

【讨论】:

没有其他 xml 文件,但发生了一些奇怪的事情,代码中的网站以边距打开,但如果我打开另一个网站,例如广告,它打开时没有边距

以上是关于移除 Android webview 左右边距的主要内容,如果未能解决你的问题,请参考以下文章

TextView 忽略左右边距

android布局中怎么设置外边距

Android:如何在偏好中调整边距/填充?

android中,使用webview作界面,不能满屏。一进入界面时是正常的,左右操作的时候,发现界面不能满屏....

WebView的基本使用

网页在 android webview 中不可用