Чтобы ответить на мой собственный вопрос, есть несколько способов получить размер полосы прокрутки программно:
View.getScrollBarSize() [API 16]
ViewConfiguration.getScaledScrollBarSize() [API 3]
View.getHorizontalScrollbarHeight()
View.getVerticalScrollbarWidth()
Интересно, что только последние два сработали для меня и вернули правильный размер (8 пикселей).Два верхних вернули 20 пикселей, которые не соответствовали фактическому размеру полосы прокрутки в 8 пикселей.Возможно, это связано с тем, что я программным образом добавляю полосы прокрутки в пользовательское представление довольно необычным способом (см. здесь ).В любом случае, использование getHorizontalScrollbarHeight()
и getVerticalScrollbarWidth()
решило проблему для меня.