确定屏幕上可见的组件数量

时间:2016-11-16 11:08:07

标签: codenameone

我想知道显示器上有多少组件可见。 理想情况下,有一个方法Component.getVisibleBounds()返回组件边界和可见矩形的交集,如果它根本不可见则返回null - 如果父容器是可滚动的,并且只有父容器的一部分是滚动到视图中。

这应该是可能的,因为Container类支持方法getComponentAt,它显然甚至通过确定哪些组件可见来优化绘制子项。但我似乎无法弄清楚如何计算可见矩形。

1 个答案:

答案 0 :(得分:0)

绘画时,我们使用剪裁边界来确定可见区域并减少/消除不必要的绘制调用。这对于快速性能至关重要。

在绘画过程中,我们并不知道什么是可见的,什么不是,只是剪裁。因此,组件可能会被遮挡或向下滚动一半,我们在此阶段不会知道。