自定义webview滚动条

时间:2016-09-29 06:48:02

标签: android webview scrollbar

我必须在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,   View.SCROLLBARS_INSIDE_INSET,View.SCROLLBARS_OUTSIDE_OVERLAY,   View.SCROLLBARS_OUTSIDE_INSET

1 个答案:

答案 0 :(得分:4)

这比我想象的容易。 刚刚添加

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

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