我正在为 Microsoft Surface 开发一个应用程序,并且我试图充分利用现有的库,如果能够轻弹 UI 元素,我所追求的功能。
ScatterView 控件使这很容易,但我想将 UI 元素限制为只能沿着设置的路径轻弹。这就是我遇到麻烦的地方。
所以我的问题是:
1)你能限制一个 ScatterViewItem 只能沿着一个路径轻弹吗?
2) 如果不是,您将如何实现轻弹手势以沿设定路径轻弹 UI 元素?
谢谢!
标记
我正在为 Microsoft Surface 开发一个应用程序,并且我试图充分利用现有的库,如果能够轻弹 UI 元素,我所追求的功能。
ScatterView 控件使这很容易,但我想将 UI 元素限制为只能沿着设置的路径轻弹。这就是我遇到麻烦的地方。
所以我的问题是:
1)你能限制一个 ScatterViewItem 只能沿着一个路径轻弹吗?
2) 如果不是,您将如何实现轻弹手势以沿设定路径轻弹 UI 元素?
谢谢!
标记
1)据我所知,这可能不是处理它的最佳方法。
2) 假设您在设计时拥有想要轻弹的对象和路径,我之前通过创建表示整个路径移动的时间线动画来实现沿路径拖动和轻弹。在运行时,我捕获该对象上的联系人,将它们提供给 Affine2DManipulationProcessor,并根据操作事件查找动画。
所以就我而言,我正在创建一个抽屉。当用户触摸抽屉时,我启动动画并立即暂停。如果用户将其拖开,我会根据操作处理器告诉我他们移动了多远来向前寻找适当的动画量。
要获得轻弹行为,您只需将操作交给 Affine2DInertiaProcessor 并继续处理增量事件。
这一切都出奇地好。