我必须自定义滚动条在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布局文件。当然,我必须从可绘制文件中删除角属性。