ANDROID PAGERADAPTER的使用方法_安卓实现左右滑动指引效果

来源:互联网 发布:苹果mac浏览器如何收藏 编辑:程序博客网 时间:2024/04/29 11:44

PagerAdapter是android.support.v4包中的类、它的子类有FragmentPagerAdapter, FragmentStatePagerAdapter

这两个adapter都是Fragment的适配器、用于实现Fragment的滑动效果

这两个adapter的使用和区别这次就先不介绍了、等下次有时间再做详细的介绍


PagerAdapter主要是viewpager的适配器、而viewPager则也是在android.support.v4扩展包中新添加的一个强大的控件

可以实现控件的滑动效果、比如咱们在软件中常见的广告栏的滑动效果、用viewPager就可以实现

今天主要介绍如何使用viewPagr并重写PagerAdapter实现常见广告栏的滑动效果


PAGERADAPTER用法简介

首先、如果继承pageradapter、至少必须重写下面的四个方法 1 instantiateItem(ViewGroup, int)

2. destroyItem(ViewGroup, int, Object)

3. getCount()

4. isViewFromObject(View, Object)

<iframe id="iframeu2248002_0" src="http://pos.baidu.com/ecjm?rdid=2248002&amp;dc=2&amp;di=u2248002&amp;dri=0&amp;dis=0&amp;dai=2&amp;ps=807x184&amp;dcb=BAIDU_SSP_define&amp;dtm=HTML_POST&amp;dvi=0.0&amp;dci=-1&amp;dpt=none&amp;tsr=0&amp;tpr=1476756398074&amp;ti=Android%20PagerAdapter%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95_%E5%AE%89%E5%8D%93%E5%AE%9E%E7%8E%B0%E5%B7%A6%E5%8F%B3%E6%BB%91%E5%8A%A8%E6%8C%87%E5%BC%95%E6%95%88%E6%9E%9C_DD%E5%8D%9A%E5%AE%A2&amp;ari=2&amp;dbv=2&amp;drs=1&amp;pcs=1349x579&amp;pss=1349x839&amp;cfv=0&amp;cpl=41&amp;chi=1&amp;cce=true&amp;cec=UTF-8&amp;tlm=1476756398&amp;rw=579&amp;ltu=http%3A%2F%2Fdwtedx.com%2Fitshare_229.html&amp;ltr=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DvQ3Kzo9O_h0gVtIxBlwqG_FCaX6CqeBrO-6oFAlqMSIjPfsNk4p6Jwm1OMQwsH25%26wd%3D%26eqid%3Dbf0e1cd900026cb700000005580583a1&amp;ecd=1&amp;psr=1366x768&amp;par=1366x728&amp;pis=-1x-1&amp;ccd=24&amp;cja=true&amp;cmi=67&amp;col=zh-CN&amp;cdo=-1&amp;tcn=1476756398&amp;qn=006ccee9c76314cc&amp;tt=1476756398011.343.912.913" width="120" height="45" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="margin: 0px; padding: 0px; border-width: 0px; border-style: initial; outline: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit;font-size:undefined; line-height: inherit; font-family: inherit; word-wrap: break-word; vertical-align: bottom;"></iframe>


下面我们以代码的形式、说明这四个方法的含义以及如何使用

// 适配器 //循环设置private class MyPagerAdapter extends PagerAdapter {public void finishUpdate(View arg0) {}public void notifyDataSetChanged() {super.notifyDataSetChanged();}// 获取要滑动的控件的数量,在这里我们以滑动的广告栏为例//那么这里就应该是展示的广告图片的ImageView数量public int getCount() {return mListViews.size();}// 当要显示的图片可以进行缓存的时候//会调用这个方法进行显示图片的初始化//我们将要显示的ImageView加入到ViewGroup中//然后作为返回值返回即可public Object instantiateItem(View v, int i) {((ViewPager) v).addView(mListViews.get(i));return mListViews.get(i);}//来判断显示的是否是同一张图片,将两个参数相比较返回即可public boolean isViewFromObject(View arg0, Object arg1) {return arg0 == (arg1);}public void restoreState(Parcelable arg0, ClassLoader arg1) {}public Parcelable saveState() {return null;}public void startUpdate(View arg0) {}// PagerAdapter只缓存三张要显示的图片//如果滑动的图片超出了缓存的范围,就会调用这个方法,将图片销毁public void destroyItem(View view, int position, Object arg2) {((ViewPager) view).removeView(mListViews.get(position));}}


实现了这四个方法、就可以实现滑动的效果了

那么夸大滑动之后要怎么捕获这个图片改变的事件呢、用以下方法

ViewPager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {Toast.makeText(mActivity, "选择:" + arg0, Toast.LENGTH_SHORT).show();}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {}@Overridepublic void onPageScrollStateChanged(int arg0) {}});

0 0
原创粉丝点击