线上服务咨询
ViewPager的setOnPageChangeListener方法详细
发表时间:2019-07-30 16:02:10
文章来源:沈阳软件开发
标签:网站建设 小程序开发 小程序制作 微信小程序开发 公众号开发 微信公众号开发 网页设计 网站优化 网站排名 网站设计 微信小程序设计 小程序定制 微信小程序定制
浏览次数:0
使用ViewPage时,最关键的代码是setOnPageChangeListener,传入ViewPager.SimpleOnPageChangeListener对象。 ViewPager.SimpleOnPageChangeListener是一个接口,有三种方法,下面介绍。注意:ViewPager有两个操作,一个是用手指滑动页面,另一个是直接setCurrentItem(通常用于直接单击上面的tab,setCurrentItem)。对于这两种情况,还将分别介绍以下方法介绍。最后,我们将讨论这三种方法的相对执行顺序。 1.onPageSelected(int position):此方法有一个参数位置,表示选择了哪个页面。当用手指翻动时,如果翻转成功(滑动距离足够长),则在手指抬起时立即执行该方法,并且该位置是当前刷过的页面。如果直接将setCurrentItem设置为page,则该位置与setCurrentItem参数相同。这将在onPageScrolled执行方法之前立即执行。 2.onPageScrolled(int position,float positionOffset,int positionOffsetPixels):在屏幕滚动期间将连续调用此方法。有三个参数,第一个位置,这个参数应该特别注意它。 当用手指滑动时,如果手指没有在页面上移动,则位置和当前页面索引是相同的;如果手指向左拖动(相应的页面向右翻转),则此时位置与当前页面最为一致。如果页面成功转动,最后一次调用只会成为目标页面;如果手指向右拖动(相应的页面向左翻转),此时位置与目标页面最为一致,只有页面不成功。在最后一次通话的情况下,原始页面将成为原始页面。将setCurrentItem直接设置为页面时,如果它是相邻的(例如现在是第二页,跳转到第一页或第三页),如果页面向右翻转,则大部分时间与当前页面一致。只有最后一次成为目标页面;如果它向左翻转,位置和目标页面是相同的。这与用手指翻动页面基本相同。如果它不相邻,例如,我从第一页跳到第三页,首先是位置0,然后逐渐变为1,然后逐渐变为2;我从第三页跳到第一页,位置是第一位,然后逐渐变为0,并且不会显示为2. positionOffset是当前页面的滑动比率。如果页面向右翻转,则该值将继续增加,最后在接近1后它将突然变为0.如果页面向左翻转,则该值将逐渐变小并最终变为零。 positionOffsetPixels是当前页面的幻灯片像素,其变化与positionOffset一致。 3.onPageScrollStateChanged(int state):当手指操作屏幕时,此方法会发生变化。有三个值:0(END),1(PRESS),2(UP)。 用手指翻动时,按下手指时会触发此方法。状态值为1.当手指抬起时,如果发生滑动(即使它很小),该值将变为2,然后它将变为0。该方法总共进行三次。一种特殊情况是手指按下后不会发生滑动。此时,只调用此方法两次,状态值为1,0。当setCurrentItem翻页时,此方法执行两次,状态值分别为2,0。三种方法的执行顺序如下:当用手指翻页时,首先执行onPageScrollStateChanged(1),然后连续执行onPageScrolled。放置手指时,立即执行onPageScrollStateChanged(2),然后立即执行onPageSelected。然后继续执行onPageScrollStateChanged,最后执行onPageScrollStateChanged(0)。由此可以引入其他情况,并且将不再描述。
标签:& nbsp& nbsp沈阳app开发& nbsp沈阳appDesign& nbspviewPager网站建设,小程序开发,小程序制作,微信小程序开发,公众号开发,微信公众号开发,网页设计,网站优化,网站排名,网站设计,微信小程序设计,小程序定制,微信小程序定制