Android - 更改运行时可绘制的滚动条轨道并强制滚动条进行更新

时间:2011-05-26 14:09:27

标签: android view colors runtime scrollbar

我正在使用View的 android:scrollbarTrackVertical 属性来更改垂直滚动条轨道的背景颜色:

android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track"

“scrollbar_vertical_track”drawable定义为:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#00FF00" />
</shape>

在运行时,我使用以下方法更改drawable的颜色:

    GradientDrawable d = (GradientDrawable)(getResources().getDrawable(R.drawable.scrollbar_vertical_track));
    d.setColor(color);

如何强制View(我使用WebView)更新滚动条轨道的颜色?它似乎只有在我重新启动活动后才有效。我尝试了不同的方法(无效,等等 - 没有用)。

1 个答案:

答案 0 :(得分:0)

检查View中的函数protected void initializeScrollbars(TypedArray a)。我建议您尝试扩展WebView并向此函数公开包装器。因此,您可以任意调用它。可能值得检查这种方法。