自定义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>

可拉的/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>

可拉的/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

这比我想象的要容易。刚加了

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

属性到我的webview布局文件。当然,我必须从可绘制文件中删除角属性。

最新更新