我目前正在构建一个小部件,允许用户为特定于应用程序的任务设计布局。我想为用户提供一个 powerpoint/keynote-esque 界面(la 280slides)。但是,我还想提供“快照指南”(抱歉,我没有更好的词来描述它们),它们基本上是帮助用户对齐页面上的多个元素的指南。
这方面的一个例子可以在 Flash IDE 中看到,在拖动 IDE 时,它会自动计算外围对象的尺寸和位置并尝试对齐它们。mockingbird 应用程序(https://gomockingbird.com/mockingbird/)实现了类似的功能。(提示:尝试拖动一些对象,看看有没有参考线试图在它们的边界框中对齐对象)。
我相信可以通过在视口上缓存一组元素并计算每个元素的位置和尺寸以找到最合适的捕捉来实现类似的效果。但是,如何计算被拖动元素的最可能位置?有没有替代解决方案?
有了解的高手请赐教!:)