Windows Mobile 6.5 Gesture API 介绍
2010-06-01 22:53:00 来源:WEB开发网我们始终只能看到屏幕中间显示的地图的一小块,但是整个图片控件其实非常大,已经超出了窗体的范围。在这里我们需要注意的是,ViewportControl他的实际大小通常比ExtentControl要小,但是它是ExtentControl的父级对象。即 ExtentControl在ViewportControl内部。
当我们需要它进行滚动的时候,我们只需要简单的设置physicsAnimation对象的运动角度(确切说,是弧度),力度,然后调用其Start方法就可以。而要停止某一个运动,只需要调用其Stop方法,正在滚动的动作就会停止。
private void gestureRecognizer1_Scroll(object sender, GestureScrollEventArgs e)
{
label1.Text = e.Kind.ToString() + ": " + e.State + ", (" + e.X + ", " + e.Y + "), d=" + e.ScrollDirection + ", a=" + e.Angle + ", v=" + e.Velocity;
this.physicsAnimation1.Stop();
this.physicsAnimation1.Angle = e.Angle;
this.physicsAnimation1.Velocity = e.Velocity;
this.physicsAnimation1.Start();
}
上面这段代码就演示了physicsAnimation组件的使用方式。这是利用的上一小节中咱们用到的Gesture API来捕获Flick动作,也就是滚动。
首先我们使用Stop方法停止当前的动画;然后设置运动的方向的弧度,这里是通过Gesture来判定运动方向;然后是力度,同样也是从Gesture中获得;最后调用Start方法,则指定的ExtentControl就在ViewportControl对象的可视区域内滚动起来。具体参见http://code.msdn.microsoft.com/gestureswm 中所提供的GestureHarness工程。
更多精彩
赞助商链接