如何计算滚动条滑块的大小?

2023-11-22

我正在用 C# 和 XNA 为我的游戏制作自己的自定义 UI 系统,但我在滚动条方面遇到了一个小问题。我不知道计算滚动条拇指大小的公式是什么。

假设我有一个 200x200 像素的面板。以及 600x600 像素的图像。如何根据图像大小计算滚动条拇指大小?

enter image description here


拇指(我听说人们称之为洗涤器)大小应该是视口的大小(在您的示例中为 200 像素)除以内容的大小(600 像素)。

因此,您的拇指应占可用高度的 1/3。可用高度是滚动条的大小减去箭头的大小。

例如,如果每个箭头为 25px,则拇指大小将按此计算。

var arrowHeight = 25;
var viewportHeight = 200;
var contentHeight = 600;

var viewableRatio = viewportHeight / contentHeight; // 1/3 or 0.333333333n

var scrollBarArea = viewportHeight - arrowHeight * 2; // 150px

var thumbHeight = scrollBarArea * viewableRatio; // 50px

当然,您必须自己检查内容高度是否小于可视区域、内容高度是否为 0 等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何计算滚动条滑块的大小? 的相关文章

随机推荐