webview在右侧显示白色酒吧

时间:2010-02-17 10:49:03

标签: android

我给我的布局中嵌入的webview客户端提供以下方法调用
wv.loadData("<html><body bgcolor=\"Black\"></body></html>","text/html", "utf-8");

当我在设备上运行它时,它会在右侧显示一个白色垂直条。我使用webview.setBackgroundColor(Color.BLACK);修复了白色的东西,但我想完全删除它

以下是我的布局xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
    <WebView android:id="@+id/wv1"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"
            />

</LinearLayout>

有什么建议吗?

4 个答案:

答案 0 :(得分:147)

使用以下内容隐藏但不删除滚动条的功能。布局边际调整是一个讨厌的解决方法。

//webview being your WebView object reference. webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);

答案 1 :(得分:9)

我会在内部设置margin:0和padding:0。你可以做点什么

<body style="margin: 0; padding: 0">

答案 2 :(得分:4)

这可能不是“最佳”答案,但它对我有用。

<WebView android:layout_marginRight="-7dip" />

让我知道是否有更好的东西,因为这对我来说是个致命的。

答案 3 :(得分:1)

我的应用程序有一个可选择的夜间模式,在黑色时切换为白色。中央视图是显示文本的WebView。

对于夜间模式,我使用了额外的css文件,在黑色背景上显示白色文字,但是用户抱怨右边的白色滚动条。所以我遇到了与上面概述的问题相同的问题。但是,我需要在运行时以编程方式切换进出夜间模式,但我不想仅隐藏滚动条。

我使用的简单解决方案是:

if (isNightMode()) {
    webView.setBackgroundColor(Color.BLACK);
} else {
    webView.setBackgroundColor(Color.WHITE);
}

设置WebView的backgroundColor会根据需要影响滚动条。