2016-09-29 215 views
0

我必须在webview中自定义滚动条 - 更改轨道和拇指的颜色,形状(简单的矩形)。我找不到任何有关自定义webview滚动条的信息,只有列表视图。自定义webview滚动条

到目前为止,我创建:

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);给我一个错误:

Must be one of: View.SCROLLBARS_INSIDE_OVERLAY, View.SCROLLBARS_INSIDE_INSET, View.SCROLLBARS_OUTSIDE_OVERLAY, View.SCROLLBARS_OUTSIDE_INSET

回答

2

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

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

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