当前位置: 首页 > 知识库问答 >
问题:

以编程方式查找滚动条大小

石思淼
2023-03-14

我使用的是一个自定义视图,我添加了滚动条,如下所示:

setHorizontalScrollBarEnabled(true);
setVerticalScrollBarEnabled(true);

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

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

有没有办法通过编程实现这一点?

共有1个答案

王子明
2023-03-14

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

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

有趣的是,只有后两种方法对我有效,并且返回了正确的大小(8像素)。上两个返回的20个像素与8个像素的实际滚动条大小不匹配。也许这与我以一种非常非正统的方式在自定义视图中以编程方式添加滚动条有关(请参见此处)。无论如何,使用getHorizontalScrollbarHeight()和getVerticalScrollbarWidth()解决了这个问题。

 类似资料:
  • 问题内容: 我有一个带有用于内容的内部DIV的HTML页面。内部DIV有自己的滚动条。我想自动滚动到DIV中的某个位置。 我怎样才能做到这一点?(请注意,我不想自动滚动“窗口”滚动条-我已经知道如何执行此操作) 需要跨平台解决方案 问题答案: div具有您可以设置的属性(及其pal,)。

  • 我有一个作为上的面板和一个按钮。如果我按下按钮,我希望显示滚动的地图摘录。 我试图通过lat/lon设置另一个显示位置,但我不知道如何获得旧的mapcenter lat/lon值..? 我的按钮Actionlistener,它应该显示一个稍微向上移动的地图摘录: 但是我不知道如何获得地图中心当前的LAT/LON值。我如何获得它们?

  • 问题内容: 如何滚动到代码底部?还是以更通用的方式,到子视图的任何一点? 问题答案: 您可以使用UIScrollView的功能滚动到内容视图的任何部分。假设您的scrollView是,这是一些滚动到底部的代码: 希望有帮助!

  • 本文向大家介绍易语言设置编辑框滚动条与滚动条方式的方法,包括了易语言设置编辑框滚动条与滚动条方式的方法的使用技巧和注意事项,需要的朋友参考一下 滚动条属性 所属对象:编辑框   操作系统支持:Windows 数据类型:整数型;滚动条只有在多行方式下才有效。 可供选择的属性值: 0、无 1、横向滚动条 2、纵向滚动条 3、横向及纵向滚动条 例程 说明 本属性用于设置指定编辑框有无滚动条和滚动条方式。

  • 问题内容: 我在Java中有一个缓冲的图像,我想根据颜色值记录每个像素与另一个像素的相似程度。因此具有“相似”颜色的像素将具有较高的相似度值。例如,红色和粉红色的相似度值为1000,但是红色和蓝色的相似度为300或更小。 我怎样才能做到这一点。当我从缓冲的图像像素获得RGB时,它返回一个负整数,我不确定该如何实现它。 问题答案: 首先,如何获得整数值? 获得RGB值后,您可以尝试 ((r2-r1)

  • 问题内容: 我想使用 ImageJ的 find edge选项,使用edges-found数组并将其以编程方式保存到另一个文件。 但是,函数 findEdges 是抽象的,我无法找到边缘找到的图像。 编辑: 我写了以下几行: 但是,当我尝试打印BufferedImage的RGB值时,它只为每个像素RGB打印“ -16777216”。 问题答案: 好的,我找到了解决方案,问题是我没有将ColorPro