15
6

Mono for android中使用HorizontalPager

0
归档:2013年6月分类:开源Mono
内容纲要

智能手机上通过手势翻页的效果很普遍,这是大多数应用的必备功能,目前已经有很多jar包的类库实现了这个方法,不过这次我们不需要引用jar包,因为热心的程序员已经把java版的HorizontalPager翻译成了c#版的,可以直接在项目中使用。

github上面有相关的代码,直接去下载就可以https://github.com/Cheesebaron/MonoDroid.HorizontalPager

将这个类添加到自己的项目中,使用方法如下:

var horiPager = new HorizontalPager (this);
horiPager.ScreenChanged += new ScreenChangedEventHandler (horiPager_ScreenChanged);

horiPager.AddView (BuildWebView (nextPageModel));

其中,horiPager_ScreenChanged是翻页的过程中执行的委托方法,如果需要在翻页的过程中或者完成前后做操作,可以把相应的方法写在这里。

重要说明:HorizontalPager因为支持手势左右滑动翻页,所以捕获不到单指点击事件,但是可以通过修改源代码,实现当点击中间的时候能捕获到点击事件(不过这样手势在中间滑动的时候会捕获不到):

找到方法public override bool OnTouchEvent(MotionEvent e),修改case为Down的情况

case MotionEventActions.Down:
mLastMotionX = ev.GetX();
mLastMotionY = ev.GetY();
if(mLastMotionX>deviceWith*5/11&&mLastMotionX<deviceWith*6/11)
{
return true;
}


声明: 本文采用 BY-NC-SA 协议进行授权. 未标注“转”的文章均为原创,转载请注明转自: Mono for android中使用HorizontalPager

公告栏

欢迎大家来到我的博客,我是dodoro,希望我的博客能给你带来帮助。