Программное определение размера полосы прокрутки

Я использую настраиваемый вид, в который добавляю полосы прокрутки:

setHorizontalScrollBarEnabled(true);
setVerticalScrollBarEnabled(true);

TypedArray a = context.obtainStyledAttributes(R.styleable.View);
initializeScrollbars(a);
a.recycle()

Теперь есть способ узнать толщину полос прокрутки в пикселях? Для вертикальной полосы прокрутки я хотел бы узнать ширину, а для горизонтальной полосы прокрутки я хотел бы узнать высоту, как в пикселях.

Есть ли способ сделать это программно?

Спасибо, но это JavaScript. Как это сделать на Java?

Andreas 26.10.2018 17:49

Ржу не могу! Думал, у меня включен фильтр javascript ... Теперь я пойду выпить чашку кофе, прежде чем отвечать на какие-либо вопросы в течение дня.

Cory Silva 26.10.2018 17:56
0
3
105
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы ответить на мой собственный вопрос, есть несколько способов получить размер полосы прокрутки программно:

View.getScrollBarSize() [API 16]
ViewConfiguration.getScaledScrollBarSize() [API 3]
View.getHorizontalScrollbarHeight()
View.getVerticalScrollbarWidth()

Что интересно, только два последних у меня сработали и вернули правильный размер (8 пикселей). Два верхних возвращали 20 пикселей, что не соответствовало фактическому размеру полосы прокрутки в 8 пикселей. Возможно, это связано с тем, что я программно добавляю полосы прокрутки в пользовательское представление довольно необычным способом (см. здесь). В любом случае, использование getHorizontalScrollbarHeight() и getVerticalScrollbarWidth() решило проблему для меня.

Другие вопросы по теме