Подтвердить что ты не робот

Webview показывает белую полосу с правой стороны

Я предоставляю следующий вызов метода моему клиенту 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>

Любые предложения

4b9b3361

Ответ 1

Используйте следующее, чтобы скрыть, но не удалить функциональные возможности полосы прокрутки. Корректировка маржи макета - неприятная работа.

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

Ответ 2

Я бы установил margin: 0 и padding: 0 внутри. Вы могли бы сделать что-то вроде

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

Ответ 3

Это может быть не лучший ответ, но он работал у меня.

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

Дайте мне знать, если что-то лучше, потому что это кажется мне хакерским.

Ответ 4

В моем приложении есть настраиваемый ночной режим, который переключается на белый на черном. Центральный вид - это WebView, отображающий текст.

В ночном режиме я использовал дополнительный файл css, который показывал белый текст на черном backbround, но пользователи жаловались на белую полосу прокрутки справа. Поэтому у меня была такая же проблема, как описано выше. Тем не менее, мне нужно было включить и выключить ночной режим во время выполнения, но я не хотел просто скрывать полосы прокрутки.

Простым решением я использовал:

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

Настройка backgroundColor WebView повлияла на полосы прокрутки по мере необходимости.