#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 из файлов, доступных для рисования.