Настройка полосы прокрутки webview

#android #webview #scrollbar

#Android #webview #полоса прокрутки

Вопрос:

Мне нужно настроить полосу прокрутки в webview — изменить цвета дорожки и большого пальца, формы (простые прямоугольники). Я не смог найти никакой информации о настройке полосы прокрутки webview, только listviews.

До сих пор я создавал:

styles.xml

 <style name="CustomScrollBar">
    <item name="android:scrollbarAlwaysDrawVerticalTrack">true</item>
    <item name="android:scrollbarStyle">outsideOverlay</item>
    <item name="android:scrollbars">vertical</item>
    <item name="android:fadeScrollbars">true</item>
    <item name="android:scrollbarThumbVertical">@drawable/custom_scrollbar_thumb</item>
    <item name="android:scrollbarTrackVertical">@drawable/custom_scrollbar_track</item>
    <item name="android:scrollbarSize">12dp</item>
    <item name="android:scrollbarFadeDuration">2000</item>
    <item name="android:scrollbarDefaultDelayBeforeFade">1000</item>
</style>
  

drawable/custom_scrollbar_track.xml

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <gradient
    android:angle="0"
    android:endColor="@color/gray"
    android:startColor="@color/gray" />
   <corners android:radius="6dp" />
</shape>
  

drawable/custom_scrollbar_thumb.xml

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

<gradient
    android:angle="0"
    android:endColor="@color/green"
    android:startColor="@color/green" />

<corners android:radius="6dp" />

</shape>
  

Однако wv.setScrollBarStyle(R.style.CustomScrollBar); выдает ошибку:

Должно быть одно из: View.SCROLLBARS_INSIDE_OVERLAY, Просмотр.SCROLLBARS_INSIDE_INSET, Просмотр.SCROLLBARS_OUTSIDE_OVERLAY, Просмотр.SCROLLBARS_OUTSIDE_INSET

Ответ №1:

Это было проще, чем я думал. Только что добавлено

     android:scrollbarThumbVertical="@drawable/custom_scrollbar_thumb"
    android:scrollbarTrackVertical="@drawable/custom_scrollbar_track"
  

атрибуты для моего webview в файле макета. Конечно, мне пришлось удалить атрибуты corners из файлов, доступных для рисования.