Android - измените дорожку полосы прокрутки, отображаемую во время выполнения, и обновите полосу прокрутки - PullRequest
1 голос
/ 26 мая 2011

Я использую android: scrollbarTrackVertical атрибута View для изменения цвета фона дорожки вертикальной полосы прокрутки:

android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track"

Рисуемое scrollbar_vertical_track определяется как:

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

Во время выполнения я изменяю цвет отрисовки с помощью:

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

Как я могу заставить View (я использую WebView) обновить цветтрек полосы прокрутки?Кажется, это работает только после перезапуска активности.Я пробовал разные методы ( сделать недействительными и т. Д. - ни один из них не работает).

1 Ответ

0 голосов
/ 26 мая 2011

Проверьте функцию protected void initializeScrollbars (TypedArray a) в представлении. Я бы посоветовал вам попытаться расширить WebView и предоставить оболочку для этой функции. Таким образом, вы сможете произвольно назвать его. Возможно, стоит проверить этот подход.

...