WebView无法填满设备或模拟器的整个屏幕

8
我是一名有用的助手,可以为您翻译文本。
我正在开发一款Android应用程序,启动时加载一个Web应用程序。为了实现这个目的,我使用了Webview控件。我希望我的Webview全屏显示,以便给用户以原生的感觉。我尝试了所有全屏显示Webview的方法,但没有任何作用。我不知道我错过了什么。我需要帮助解决这个问题。下面我会发布我尝试的代码片段,并附上截图,显示Webview在模拟器和手机上的显示情况。
方法1:尝试使用简单基本的代码。
    webbrowser.setWebViewClient(new MyWebViewClient());
    webbrowser.getSettings().setJavaScriptEnabled(true);
    webbrowser.loadUrl("http://google.com");

private class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

方法二:尝试在清单文件中将主题设置为全屏
        <application android:icon="@drawable/icon" 
    android:label="@string/app_name"
  android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

第三种方法:尝试使用代码进行操作。
//Full screen
requestWindowFeature(Window.FEATURE_NO_TITLE); 
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
WindowManager.LayoutParams.FLAG_FULLSCREEN);

方法四:尝试使用ChromeClient

mWebView.setWebChromeClient(new MyWebChromeClient());
mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");
mWebView.loadUrl("http://google.com/");

第五种方法:尝试在main.xml中仅定义webview而不使用布局。
<?xml version="1.0" encoding="utf-8"?>
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webview_compontent"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scrollbars="none"
/>

方法6:也尝试使用相对布局,将webview边缘与父元素对齐

对我来说没有用。我正在测试的设备是三星Galaxy Tab和模拟器是Android 2.3.3。在7英寸的Galaxy Tab中,它显示在中间,四周有空白区域。而在模拟器中,它留下了底部的空间。

如果有人能指导我,我会非常感激。

3个回答

9
只需在清单文件中添加以下代码:

>

<supports-screens android:smallScreens="true"
    android:normalScreens="true" android:largeScreens="true"
    android:anyDensity="true" />

0
只需从您的布局中删除填充即可...

0

mWebView.setWebChromeClient(new MyWebChromeClient());

从您的activity.java文件中删除此Java代码,然后使用:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接