【问题标题】:Programmatically find out scrollbar size以编程方式找出滚动条的大小
【发布时间】:2019-03-31 09:54:01
【问题描述】:

我正在使用添加滚动条的自定义视图,如下所示:

setHorizontalScrollBarEnabled(true);
setVerticalScrollBarEnabled(true);

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

现在有没有办法以像素为单位找出滚动条的厚度?对于垂直滚动条,我想找出宽度,对于水平滚动条,我想找出高度,都以像素为单位。

有没有办法以编程方式做到这一点?

【问题讨论】:

标签: android android-scroll


【解决方案1】:

要回答我自己的问题,有几种方法可以通过编程方式获取滚动条大小:

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

有趣的是,只有后两个对我有用并返回了正确的大小(8 像素)。上面两个返回 20 像素,这与 8 像素的实际滚动条大小不匹配。也许这与我以一种相当非正统的方式以编程方式将滚动条添加到自定义视图的事实有关(请参阅here)。无论如何,使用getHorizontalScrollbarHeight()getVerticalScrollbarWidth() 为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    相关资源
    最近更新 更多