移除 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 左右边距的主要内容,如果未能解决你的问题,请参考以下文章