2016-09-29 251 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佈局文件中。當然,我必須從可繪製文件中刪除角落屬性。