1

私はMicrosoftSurface用のアプリを開発していて、そこにあるライブラリを最大限に活用しようとしています。UI要素をフリックできるようにした後の機能です。

ScatterViewコントロールを使用するとこれが簡単になりますが、UI要素を制限して、設定されたパスに沿ってのみフリックできるようにします。これは私が問題を抱えているところです。

だから私の質問は:

1)ScatterViewItemをパスに沿ってのみフリックするように制限できますか?

2)そうでない場合、設定されたパスに沿ってUI要素をフリックするフリックジェスチャをどのように実装しますか?

ありがとう!

マーク

4

1 に答える 1

3

1)私が知っていることではありません。これはおそらく最善の方法ではありません。

2) フリックするオブジェクトと設計時のパスがあると仮定すると、パス全体の動きを表すタイムライン アニメーションを作成することで、パスに沿ったドラッグとフリックを以前に実装しました。実行時に、そのオブジェクトの連絡先をキャプチャし、それらを Affine2DManipulationProcessor にフィードして、操作イベントに基づいてアニメーションをシークします。

私の場合、引き出しを作成していました。ユーザーが引き出しに触れたら、アニメーションを開始してすぐに一時停止します。ユーザーがドラッグして開いた場合、操作プロセッサが移動したことを示す距離に基づいて、適切な量だけアニメーションを前方にシークします。

フリック動作を取得するには、操作を Affine2DInertiaProcessor に渡し、デルタ イベントの処理を続行します。

これはすべて驚くほどうまく機能します。

于 2009-10-05T15:40:49.477 に答える